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