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
435666cea5
Misc.
2012-02-26 14:27:27 +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
asfernandes
b522566474
Remove legacy statements residuals.
2012-02-20 02:02:04 +00:00
asfernandes
6b5a322e8b
Refactor SELECT.
2012-02-10 03:06:57 +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
asfernandes
372d48c97b
Improvement CORE-3639 - Allow the use of multiple WHEN MATCHED / NOT MATCHED clauses in MERGE, as per the SQL 2008 specification.
...
Also updated MERGE and RETURNING docs, and fixed a bug with MERGE WHEN MATCHED DELETE and RETURNING.
2011-10-23 01:31:11 +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
robocop
9d980c7e88
Misc, style, etc.
2011-04-02 04:24:20 +00:00
hvlad
60dc5dd571
Additional patch for CORE-3362 : Cursors should ignore changes made by the same statement
...
Better (i hope) fix for implicit cursors stability in PSQL
2011-03-08 09:05:28 +00:00
asfernandes
9dd82235f7
Replace some nod_list by array of nodes and change implementation of nod_returning to ReturningClause.
2011-03-07 03:15:07 +00:00
asfernandes
5ffa89e0c7
Reference DML statements in DSQL with StmtNode instead of dsql_nod.
2011-03-06 02:48:34 +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
hvlad
69df3d720f
Additional patch for CORE-3362 : Cursors should ignore changes made by the same statement
...
Statements with more that one cursors should not create savepoint for the first cursor
2011-03-02 09:43:13 +00:00
asfernandes
0e58483989
Refactor nod_cursor.
2011-02-26 21:51:45 +00:00
asfernandes
74a6076b50
Replace some blr_block by blr_begin, as before.
2011-02-26 01:10:26 +00:00
asfernandes
2096bd7239
Refactor DSQL exceptions: nod_on_error, nod_sqlcode, nod_gdscode, nod_exception and nod_default.
2011-02-25 02:52:51 +00:00
asfernandes
dca1961a82
Refactor nod_while.
2011-02-22 15:30:06 +00:00
asfernandes
db4390bf9f
Refactor SET GENERATOR / ALTER SEQUENCE.
2011-02-22 01:57:51 +00:00
asfernandes
0a6e338392
Refactoring nod_list and nod_block statements.
2011-02-22 00:51:56 +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
23ae9f62e8
Refactor DSQL's BREAK, LEAVE and CONTINUE.
2011-01-22 21:32:29 +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
asfernandes
0b1fa97b4a
Refactored the DSQL support of cursor statements, execute procedure and execute statement
2010-12-23 18:42: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
alexpeshkoff
e05c1a825f
Moved some more .h-files to common from jrd as Vlad suggested
2010-10-13 10:39:52 +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
c1b5abfdf2
1) Refactor all types of boolean nodes.
...
2) Remove the scratch from the nodes.
2010-09-17 03:15:32 +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
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
38a4fb7be2
Misc
2010-08-11 15:33:06 +00:00
asfernandes
4cb0195ee6
Misc
2010-08-10 15:20:20 +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
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
22e99e49ce
Improvement CORE-3020 - Add clause RETURNING ... INTO ... to MERGE statement
2010-06-10 02:03:03 +00:00
asfernandes
82fe06ed9a
Refactor FOR statement and SELECT...INTO. Indirectly (blr_for), JRD side of standard SELECT is affected as well.
2010-02-22 16:00:49 +00:00
asfernandes
be859980ea
Feature CORE-832 - Parameterized exceptions
2010-01-07 00:16:50 +00:00
asfernandes
63f481da40
1) Refactor the EXCEPTION statement
...
2) Cleanup DSQL nod_abort
2010-01-05 17:32:42 +00:00
asfernandes
d3ac9ac6cc
More refactoring: name changes, accessors, consts, removed not good references (statement referencing scratch and metadata indirectly)
2009-12-23 00:57:08 +00:00
dimitr
1f3694c903
Support for PSQL functions (only the DSQL part so far). Still work in progress.
2009-12-21 17:23:07 +00:00
asfernandes
488eb40fe0
Refactor DSQL, continuing the work I started in 2.5:
...
- Renamed CompiledStatement to DsqlCompilerScratch and removed inheritance to dsql_req.
- Introduced DsqlCompilerStatement, moving things from dsql_req - not completelly shareable yet.
- Make dsql_req reference a DsqlCompilerStatement. DsqlCompilerScratch may be discarded in the future.
- Replaced AlterCharSetNode usage by PreparedStatement for the default collation in database creation.
- Changed METD API.
2009-12-20 21:01:10 +00:00
asfernandes
20ed875d57
Replaced linked list of dsql parameters by array
2009-12-19 18:50:38 +00:00