8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 00:43:02 +01:00
Commit Graph

1834 Commits

Author SHA1 Message Date
hvlad
dca44e309d Make it compiles on Windows after Alex's changes. MSVC10 build will follow later. 2011-01-24 12:51:32 +00:00
asfernandes
0b08d20b3f Misc 2011-01-23 00:32:42 +00:00
asfernandes
23ae9f62e8 Refactor DSQL's BREAK, LEAVE and CONTINUE. 2011-01-22 21:32:29 +00:00
asfernandes
f0586b01eb Refactor DSQL's nod_join and nod_union. 2011-01-22 20:40:04 +00:00
asfernandes
ffb28dfc3d Misc 2011-01-22 17:15:52 +00:00
alexpeshkoff
fc41c54a62 warnings 2011-01-21 17:16:13 +00:00
hvlad
8e4755b20f Front ported fix for bug CORE-3282 : EXECUTE STATEMENT parses the SQL text using wrong charset 2011-01-21 10:03:17 +00:00
dimitr
075bb76c5b Fixed CORE-3311: Error "data type unknown" while preparing UPDATE/DELETE statements with the parameterized ROWS clause.
Cleanup.
2011-01-20 04:41:10 +00:00
dimitr
51b33d7a9c Totally misc. 2011-01-19 07:54:19 +00:00
alexpeshkoff
d6fcde387b New plugin manager. Use it for all types of plugins. 2011-01-14 17:31:40 +00:00
asfernandes
123aa675ab Refactor nod_aggregate, nod_relation, nod_rse, nod_derived_table, nod_query_spec and nod_limit 2011-01-09 21:58:56 +00:00
dimitr
46b8ec1e14 Fixed CORE-3302: Distinct aggregates return wrong (duplicated) data. 2011-01-07 11:32:45 +00:00
asfernandes
bc79fc1223 Make UNKNOWN a boolean value/test, and not something exactly like NULL 2010-12-27 00:34:31 +00:00
asfernandes
0b1fa97b4a Refactored the DSQL support of cursor statements, execute procedure and execute statement 2010-12-23 18:42:06 +00:00
asfernandes
4a9f98bed7 Refactor DSQL's nod_field 2010-12-19 21:42:32 +00:00
asfernandes
667caf5257 Fix comparation problem with boolean and NULL 2010-12-19 18:57:17 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +00:00
asfernandes
f9f3553b5e Fixed the crash about NEXT VALUE FOR reported in fb-devel 2010-12-16 21:11:01 +00:00
asfernandes
c268c1f25c Fixed CORE-2204 - Constraints on SP output parameters are checked even when the SP returns zero rows 2010-12-05 16:49:24 +00:00
asfernandes
5e95a16141 Use the impure space of string variable in a consistently (first or subsequent request execution) and optimized (no double allocation) way 2010-12-05 14:44:28 +00:00
asfernandes
83d74dc2b4 Rework on line/column info support to make it faster 2010-12-05 00:55:54 +00:00
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +00:00
asfernandes
62054b859e Improvement CORE-3234 - Support for text BLOBs >= 32K as first argument for TRIM() 2010-11-30 15:11:42 +00:00
asfernandes
bcbc1ed46e Move some previously static functions to StmtNodes.cpp 2010-11-29 14:54:07 +00:00
asfernandes
8af7ec0211 Refactored the support for blr_handler, blr_loop, blr_exec_sql, blr_exec_into, blr_exec_stmt,
blr_start_savepoint, blr_end_savepoint, blr_store, blr_store2, blr_erase, blr_modify,
blr_modify2, blr_exec_proc, blr_exec_proc2, blr_exec_pid, blr_dcl_cursor, blr_cursor_stmt,
blr_set_generator, blr_receive, blr_stall, blr_select, blr_block, blr_error_handler,
blr_label, blr_leave, blr_continue and the source info node.
2010-11-29 02:17:04 +00:00
asfernandes
a7266ec9d1 Correction 2010-11-23 14:30:39 +00:00
asfernandes
c5ce09d676 Misc 2010-11-22 23:47:16 +00:00
asfernandes
a3064848d6 Make ExprNodes and RecordSourceNodes reference others directly instead of via jrd_nod.
Store ValueExprNodes instead of jrd_nod in the metadata cache.
Make RecordSourceNode child of ExprNode as they share most operations.
Get rid of the JRD visitors in favor of direct calls.
Convert assignments statement lists created inside expressions to separate source and targets ValuesExprNodes.
2010-11-21 03:47:29 +00:00
hvlad
65b8817aa8 Fixed compiler errors 2010-11-19 15:47:25 +00:00
hvlad
d3d459c93b Fixed bug CORE-3219 : trace manager crash server with DSQL_unprepare 2010-11-19 14:37:56 +00:00
asfernandes
4dea3a42a1 Remove dependency of jrd_nod in ExprNode 2010-11-14 22:31:42 +00:00
asfernandes
3eb252ec5f Refactored DSQL nodes: nod_derived_field, nod_map, nod_dbkey and nod_rec_version.
Refactored JRD nodes: blr_field (JRD side only), blr_dbkey, blr_record_version and blr_stmt_expr.
2010-11-14 17:25:48 +00:00
dimitr
8e7ef4214d Let's clearly distinguish between deterministic and invariant functions, they're not the same thing actually. Runtime optimization usage is to be re-considered, if necessary.
Warning: this includes an ODS change, please boot-build.
2010-11-13 15:04:43 +00:00
dimitr
7eded400e8 Let's clearly distinguish between deterministic and invariant functions, they're not the same thing actually. Runtime optimization usage is to be re-considered, if necessary.
Warning: this includes an ODS change, please boot-build.
2010-11-13 15:03:44 +00:00
dimitr
b6752fe29b Fixed inability to alter the [[NOT] DETERMINISTIC] clause. 2010-11-13 08:54:36 +00:00
asfernandes
9086a900bb 1) Frontport fix for CORE-3222 - View with "WITH CHECK OPTION" doesn't like TRIM function in WHERE
2) Other related fix and cleanup
2010-11-11 00:05:49 +00:00
asfernandes
09c2b87a0c Warnings 2010-11-09 15:03:33 +00:00
asfernandes
0d19fe7688 Refactor blr_index (nod_scalar) 2010-11-08 23:17:01 +00:00
dimitr
3795bcdd64 Fixed CORE-3029: Bugcheck "Too many savepoints (287)" at rollback after exception at EXECUTE BLOCK with exception handler. 2010-11-08 16:37:07 +00:00
asfernandes
5ee982afb9 Refactor blr_derived_expr 2010-11-07 22:12:14 +00:00
asfernandes
a13dd3e6fe Refactor nod_domain_validation 2010-11-07 20:26:11 +00:00
asfernandes
695406060d Cleanup: removed thisNode parameter from make and setParameterType methods 2010-11-07 03:03:41 +00:00
asfernandes
1d702dae81 Refactor blr_via, blr_from, blr_maximum, blr_minimum, blr_count, blr_average and blr_total 2010-11-07 02:18:58 +00:00
asfernandes
045c090a38 Misc 2010-11-06 18:56:46 +00:00
asfernandes
195e8e879c Cleanup: nod_average2 and nod_total2 was very broken 2010-11-05 14:31:08 +00:00
asfernandes
f3277d0775 Fixed CORE-3211 - String truncation occurs when selecting from a view containing NOT IN inside 2010-11-04 01:03:40 +00:00
asfernandes
2b6106938e Refactor variables 2010-11-02 17:05:01 +00:00
dimitr
ec8e31604e Fixed SET TRANSACTION statement. 2010-11-02 09:35:48 +00:00
asfernandes
e65fd8fea8 1) Refactor CAST.
2) Fixed CORE-3204 - Constraint violation error of CAST is not raised inside views
2010-11-01 23:57:31 +00:00
asfernandes
58604d5d68 Back the generic usage of nod_desc by a call to MAKE_desc 2010-11-01 13:45:52 +00:00
asfernandes
4abbf0bf16 Correction 2010-11-01 11:55:21 +00:00
alexpeshkoff
131c6f3f4d Fixed segfault in dsql_prepare 2010-11-01 10:46:31 +00:00
asfernandes
51f4b27991 Simplify the internal "null replacement" logic 2010-11-01 00:42:12 +00:00
dimitr
d15dc50d1e Fixed CORE-3205: isc_dsql_exec_immed2() doesn't return error codes isc_stream_eof and isc_sing_select_err.
Also, restore the legacy behavior for EXECUTE PROCEDURE and RETURNING queries. This is expected to fix CORE-3203.
2010-10-31 11:26:52 +00:00
asfernandes
dde217e91f Make node creation more directly 2010-10-30 18:57:53 +00:00
asfernandes
fef5242b4f Misc 2010-10-30 16:51:19 +00:00
asfernandes
c46f5cf800 Misc 2010-10-29 00:28:35 +00:00
asfernandes
097426ffc1 Fixed CORE-3140 - Preserve comments for parameters after altering procedures 2010-10-29 00:23:18 +00:00
asfernandes
b5cfdbf513 Misc 2010-10-27 00:32:58 +00:00
asfernandes
5b895c2931 Misc 2010-10-24 21:35:45 +00:00
asfernandes
3317eeeebc Refactor literal values. 2010-10-24 00:26:00 +00:00
asfernandes
16ff0c51ce Refactor NULL expression 2010-10-22 15:00:22 +00:00
asfernandes
5c7e5ce634 Misc 2010-10-22 01:24:31 +00:00
asfernandes
43aeec0a64 Fixed CORE-3180 - ALTER VIEW with not matched columns in declaration and selection crashs the server 2010-10-17 14:22:53 +00:00
asfernandes
c24aac9046 Misc 2010-10-16 18:56:11 +00:00
asfernandes
2e0da292df Refactor EXTRACT 2010-10-16 18:53:25 +00:00
asfernandes
2dcef5c7ce Refactor *_LENGTH functions 2010-10-16 18:17:00 +00:00
asfernandes
aa78df6f91 Refactor SUBSTRING 2010-10-16 17:42:04 +00:00
asfernandes
38ba5852ae Cleanup: remove blr_prot_mask and blr_lock_state support 2010-10-16 15:34:52 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
asfernandes
91384eb587 Misc 2010-10-12 17:40:27 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
asfernandes
ac3c00d503 1) Refactored LOWER, UPPER and TRIM.
2) Fixed CORE-3174 - Expression index with TRIM may lead to incorrect indexed lookup
2010-10-09 18:39:45 +00:00
asfernandes
4d00fec2d6 Refactor parameters and GEN_ID. 2010-10-09 01:57:37 +00:00
dimitr
4d66b4e1ac Fixed problems with recursive PSQL functions. Minor refactoring. 2010-10-08 09:39:34 +00:00
asfernandes
05a37a0de2 Fixed CORE-3164 - Parameterized requests involving blob fields fails when connected using charset UTF8 2010-10-06 15:25:50 +00:00
asfernandes
2227426f2e Sub-task CORE-3147 - Fix SUBSTRING(SIMILAR) in regard to initial and final shortest matching specified in the standard 2010-10-03 00:50:17 +00:00
dimitr
0a34f7c97a Fixed one of the problems with PSQL functions reported by Vlad privately. 2010-09-27 12:29:49 +00:00
asfernandes
b49391c8d0 Misc 2010-09-25 23:08:18 +00:00
asfernandes
746c032c90 Misc things seen by Claudio 2010-09-25 20:26:05 +00:00
hvlad
1ea9da3073 Fixed SIMILAR TO syntax 2010-09-24 14:55:45 +00:00
robocop
98a2c6822d Warnings. 2010-09-24 09:53:51 +00:00
robocop
2bcc48445f Misc. 2010-09-24 08:33:22 +00:00
robocop
bca99bc9f0 Misc. 2010-09-23 09:48:42 +00:00
robocop
b64fefb4d9 Misc. 2010-09-23 09:47:15 +00:00
asfernandes
9b8171d5c1 1) Refactor nod_value_if.
2) Created ExprNode::expressionEqual method to replace a new big and ugly switch.
3) Make boolean referencers use BoolExprNode instead of jrd_nod, except nod_validate for now. This includes BinaryBoolNode and NotBoolNode working without jrd_nod references.
4) Rework in the impure allocation code (replace "csb_impure += ..." by CMP_impure calls).
2010-09-20 16:07:50 +00:00
asfernandes
3d184eef7f Simplificate repetitive code 2010-09-18 18:19:21 +00:00
asfernandes
ac5f03d17d Correction 2010-09-18 18:18:35 +00:00
asfernandes
477091ebcc Misc 2010-09-18 15:56:54 +00:00
asfernandes
57d222bb0a Fix problem with view WITH CHECK OPTION present since the introduction of ExprNode 2010-09-17 14:42:11 +00:00
asfernandes
c1b5abfdf2 1) Refactor all types of boolean nodes.
2) Remove the scratch from the nodes.
2010-09-17 03:15:32 +00:00
asfernandes
6d71560588 Misc 2010-09-07 16:17:05 +00:00
asfernandes
b7b63becf3 Refactor a number of expression nodes: nod_add, nod_divide, nod_multiply, nod_negate, nod_user_name, nod_subtract, nod_current_date, nod_current_time, nod_current_timestamp, nod_add2, nod_subtract2, nod_multiply2, nod_divide2, nod_current_role, nod_internal_info 2010-09-04 21:36:41 +00:00
asfernandes
96f2829728 Refactor nod_map and nod_sort to type-safe MapNode and SortNode 2010-08-29 18:20:44 +00:00
asfernandes
52a4c39f41 1) Separate DsqlCompilerScratch in its own files.
2) Move BlockNode functionality to it.
3) Move some related CTE functions to it.
2010-08-27 02:18:00 +00:00
dimitr
20a01d5d3a Fixed incomplete processing of UDF arguments, causing server crashes. 2010-08-24 11:58:44 +00:00
asfernandes
48d83b8fef Refactor nod_rse, nod_relation, nod_procedure, nod_union, nod_aggregate and nod_window. 2010-08-24 03:25:01 +00:00
asfernandes
7b8a8065c4 More consts 2010-08-12 00:59:48 +00:00
asfernandes
38a4fb7be2 Misc 2010-08-11 15:33:06 +00:00
asfernandes
8657f4b599 Better internal handling of dependencies 2010-08-11 02:59:33 +00:00
asfernandes
4cb0195ee6 Misc 2010-08-10 15:20:20 +00:00
asfernandes
de5098b85d Misc 2010-08-10 00:37:26 +00:00
asfernandes
4c9eb2c3ce Correct double indirection (jrd_nod**) so const cascades to every dereference 2010-08-09 16:06:23 +00:00
asfernandes
dadc0f560c Const correction for EVL, EXE and they subsystems. Adjustments to CMP and OPT. 2010-08-09 15:48:51 +00:00
robocop
4677d74e9b Misc. 2010-08-09 11:50:12 +00:00
asfernandes
a539537002 Correction for CORE-3090 2010-08-07 02:43:29 +00:00
asfernandes
7f3dc62888 Frontport fix for CORE-3090 - Incorrect LEFT JOIN result using table and derived constant subquery 2010-08-07 02:10:08 +00:00
asfernandes
173b23109c 1) Better organization between request and statement. 2) Consts. 2010-08-05 15:55:49 +00:00
asfernandes
124e614654 Simplification 2010-08-05 00:47:06 +00:00
asfernandes
c27a73a1c2 Misc: "explicit" with more than one parameter is unnecessary 2010-08-04 02:22:09 +00:00
asfernandes
942ca7d501 Correction for ALTER PACKAGE source code storage 2010-08-04 01:48:12 +00:00
asfernandes
86c406f2c7 Use RecreateNode in package commands 2010-08-04 01:41:25 +00:00
asfernandes
9e05b7f43b Corrections 2010-08-03 01:09:39 +00:00
asfernandes
88047fb610 Fix GCC build 2010-08-02 23:13:06 +00:00
asfernandes
2def39c746 Suggestions of Claudio 2010-08-02 15:58:29 +00:00
asfernandes
9c3eccef94 Create template for RECREATE commands 2010-08-02 15:47:36 +00:00
asfernandes
ad57aa29a1 Refactor CREATE/ALTER/CREATE OR ALTER/RECREATE VIEW and cleanup related to previously refactors 2010-08-02 02:22:26 +00:00
asfernandes
9a946aea74 Fix problem noticed by Claudio 2010-07-30 14:13:54 +00:00
asfernandes
3197757f00 Rename misleading TriStateType class name to Nullable 2010-07-29 00:20:53 +00:00
asfernandes
36f092fe0e Improvement CORE-3085 - Add clause ALTER DOMAIN <name> [NOT] NULL 2010-07-28 16:14:20 +00:00
asfernandes
0b7c21172a Refactor CREATE/ALTER/DROP/RECREATE TABLE and DROP VIEW commands 2010-07-26 02:37:57 +00:00
dimitr
706ba623a7 Get rid of the annoying warnings. 2010-07-13 11:03:55 +00:00
asfernandes
4db389758f Refactor CREATE/ALTER/CREATE OR ALTER/RECREATE/DROP EXCEPTION commands 2010-07-11 18:21:42 +00:00
robocop
ee99b63cc6 Misc. 2010-07-06 09:10:27 +00:00
asfernandes
20b0bbaf82 Refactor CREATE/ALTER/DROP DOMAIN 2010-07-06 00:49:33 +00:00
dimitr
fc70141a07 Fixed CORE-3064: Using the procedure alias inside an explicit plan crashes the server. 2010-07-02 10:43:33 +00:00
robocop
4edd547b17 Misc. 2010-06-30 08:55:16 +00:00
asfernandes
fc00a3d58d Cleanup 2010-06-26 02:50:07 +00:00
asfernandes
7851a943c3 Misc 2010-06-26 02:30:01 +00:00
asfernandes
f2c938d9fa Refactor CREATE/DROP COLLATION 2010-06-26 01:52:06 +00:00
asfernandes
49f4b30879 Misc 2010-06-22 00:56:53 +00:00
asfernandes
75af3ccf65 Misc/cleanup 2010-06-22 00:53:35 +00:00
asfernandes
56c738c09d Misc 2010-06-20 23:11:17 +00:00
asfernandes
dd5940a616 Improvement CORE-3057 - Allow the usage of blobs in COMPUTED BY expressions 2010-06-20 14:49:34 +00:00
asfernandes
6249162c4e Fixed CORE-3047 - Wrong logic is used to resolve EXECUTE BLOCK parameters collations 2010-06-20 03:11:05 +00:00
asfernandes
d7883e750d Fixed CORE-3047 - Wrong logic is used to resolve EXECUTE BLOCK parameters collations 2010-06-20 03:09:25 +00:00
asfernandes
fbd5ef3f96 Cleanup 2010-06-18 16:48:33 +00:00
asfernandes
4b8301fb52 Change suggested by Claudio 2010-06-17 16:06:54 +00:00
asfernandes
12079f5ece Created class BlrWriter and reorganization (move BLR generation from statement to scratch) 2010-06-17 01:18:40 +00:00
alexpeshkoff
a9446e6740 Fixed segfault during DEV_BUILD 2010-06-16 12:44:43 +00:00
asfernandes
a9adf6d626 1) Refactor PSQL support in DSQL. This started as subprocedure implementation, but I'm now separating things.
2) Fix thrown of isc_bad_default_value
2010-06-15 16:07:58 +00:00
asfernandes
ab834d2ec1 Fixed CORE-3038 - The insert failed because a column definition includes validation 2010-06-12 16:28:11 +00:00
asfernandes
22e99e49ce Improvement CORE-3020 - Add clause RETURNING ... INTO ... to MERGE statement 2010-06-10 02:03:03 +00:00
asfernandes
3cef55490c Subtask CORE-2996 - Fix error code incompatibility introduced in fix for CORE-2552 2010-05-07 15:24:53 +00:00
skidder
6c83079b27 As per Dmitry's comment, remove DSQL debugging facility from PROD_BUILD. Remove its documentation from firebird.conf. We don't want users to learn too much about the engine internals 2010-05-02 08:48:22 +00:00
asfernandes
ccd83436a1 Misc 2010-05-01 17:34:46 +00:00
skidder
f540236674 Re-introduce access to DSQL debugging facility accidentally made inaccessible by Dmitry Y. during Firebird 2.5 development cycle. Also document it firebird.conf and enable it in PROD_BUILD. It is rather hard to debug DSQL compiler issues without intermediate trace output. 2010-05-01 13:47:39 +00:00
robocop
9eaa31856a Cleanup. 2010-04-29 05:15:57 +00:00
asfernandes
0c47a04538 1) Use RAII with the non-cached requests.
2) Change GPRE generated code to something that fits the future SMP-aware engine, replacing calls of "request = CMP_compile2(...)" by "request.compile(...)". Boot build required.
2010-04-19 22:49:18 +00:00
asfernandes
4763533669 Refactor jrd_req into JrdStatement (shared part) and jrd_req (execution of a statement).
Fixed some bugs found in the way.
2010-04-18 22:19:11 +00:00