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

106 Commits

Author SHA1 Message Date
asfernandes
07747144f7 Unify DSQL/JRD sub-nodes. 2012-05-03 16:43:29 +00:00
asfernandes
a2b389f1db Getting rid of dsql_nod. 2012-04-25 01:42:47 +00:00
robocop
70d5ebdfdf - Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
asfernandes
f098e9a3d8 Refactored nod_order. 2012-04-08 04:15:09 +00:00
asfernandes
2f3d4918da Refactored nod_rows. 2012-04-07 04:21:46 +00:00
asfernandes
617ef670ed Refactored nod_select_expr, nod_with and nod_list (union). 2012-04-07 03:03:28 +00:00
asfernandes
38083d12dc Refactored nod_field_name, nod_var_name, nod_array and nod_collate. 2012-03-25 01:08:55 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
asfernandes
8f46d9300e 1) Make a new kind of Node (TransactionNode).
2) Make main parser statement return requests instead of nodes.
3) Some related cleanup (ddlData, ddlScratch).
4) Added dsqlPass to dsql_req and children, to get rid of ugly logic in prepareStatement.
2012-02-25 19:56:37 +00:00
robocop
b29cdc92b3 Kill variable shadowing. 2012-02-23 07:17:12 +00:00
robocop
1c3fa15b79 Misc. 2012-02-22 01:29:35 +00:00
asfernandes
b522566474 Remove legacy statements residuals. 2012-02-20 02:02:04 +00:00
asfernandes
9a85f4f48b Refactor SET TRANSACTION command. 2012-02-06 20:10:50 +00:00
asfernandes
cf0cf42288 Refactor COMMIT and ROLLBACK commands. 2012-02-06 20:10:07 +00:00
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +00:00
dimitr
0e41945307 1) Made the functions logic in sync with the procedures one.
2) Simplified the privileges creation code.
2012-01-09 09:48:14 +00:00
asfernandes
965bf3f159 Fixed the problem with windowed functions in recursive CTEs, reported by Frank Ingermann in fb-devel.
This fix is complementary to the one done in CORE-3683.
2011-12-04 18:36:26 +00:00
asfernandes
b956356922 DDL refactor: ALTER EXTERNAL FUNCTION, ALTER INDEX, SET STATISTICS, CREATE SHADOW, ALTER ROLE, CREATE/ALTER DATABASE. 2011-11-22 16:33:25 +00:00
asfernandes
c627005a89 Feature CORE-3626 - Subfunctions in PSQL and EXECUTE BLOCK.
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBFUNC_1.output.

Also did:
- Refactor to share more code/data between procedures and functions.
- Fixed some PSQL functions problems.
2011-10-16 20:36:07 +00:00
asfernandes
5ae632cf0b Feature CORE-1288 - Sub Procedures.
They're very simple for now. No access to parent variables nor to call neighbour procedures.

Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBPROC_1.output.
2011-10-02 22:11:41 +00:00
dimitr
ffa0c84d97 Added the missing RDB$SYSTEM_FLAG and RDB$DESCRIPTION columns into RDB$FUNCTION_ARGUMENTS. 2011-07-14 15:27:25 +00:00
asfernandes
03ce334e2b Misc 2011-04-04 13:37:47 +00:00
robocop
9d980c7e88 Misc, style, etc. 2011-04-02 04:24:20 +00:00
dimitr
82b595ae7e Misc adjustments. 2011-03-10 08:13:02 +00:00
dimitr
a672c012ad Fixed the NULL handling for MIN/MAX mapped to an index.
Adriano, please review and rework, if necessary.
2011-03-05 17:28:37 +00:00
asfernandes
8d6c054d87 Refactored nod_src_info. 2011-03-05 02:47:22 +00:00
asfernandes
1c6e990926 Refactor DSQL INSERT, UPDATE, DELETE, MERGE, UPDATE OR INSERT and assignment statements. 2011-03-04 01:47:49 +00:00
dimitr
fc43516b21 Reworked my yesterday's change. Hopefully, it should resolve the found regressions. 2011-02-26 09:31:46 +00:00
asfernandes
0a6e338392 Refactoring nod_list and nod_block statements. 2011-02-22 00:51:56 +00:00
dimitr
cc71f0835f Removed duplicated type declaration. 2011-02-20 15:34:08 +00:00
asfernandes
5573581488 Refactored nod_alias. 2011-02-17 14:25:56 +00:00
asfernandes
c916c09e42 Refactored out OPT_expression_equal while fixing checking of sameAs involving CASTs. Problem saw by Dmitry. 2011-02-12 18:11:43 +00:00
asfernandes
7d3e820610 Misc 2011-02-12 17:26:17 +00:00
dimitr
4d2f09c8f0 Cleaned up the unused (since FB2) parameter. 2011-02-12 14:13:40 +00:00
dimitr
9bd051b3e7 Refactored expression equality to make it independent from the stream being optimized. 2011-02-12 14:01:36 +00:00
asfernandes
305b989cf8 Fixed hang found with CORE-3340 test-case. 2011-02-09 21:26:18 +00:00
dimitr
5eec5f532f Fixed CORE-3340 (Error in autonomous transaction with empty exception handler: can insert duplicate values into PK/UK column). 2011-02-09 10:59:24 +00:00
asfernandes
1388655673 Fixed CORE-3255 - The server could crash using views with GROUP BY. 2011-02-06 21:59:20 +00:00
asfernandes
bf77761d84 Fixed CORE-3310 - RDB$GET_CONTEXT and between in view.
Fixed CORE-3338 - Some expression indexes with COALESCE, CASE and DECODE became inoperant.
Removed DSQL hidden variables expressions.
Refactored COALESCE, DECODE and (simple) CASE, using new BLR verbs.
Fixed v3 regression with UPDATE OR INSERT inside PROCEDURE/FUNCTION.
Fixed assert with DECODE/CASE with only test parameters and no values.
2011-02-06 18:13:12 +00:00
alexpeshkoff
fc41c54a62 warnings 2011-01-21 17:16:13 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +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
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
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
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
asfernandes
0d19fe7688 Refactor blr_index (nod_scalar) 2010-11-08 23:17:01 +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