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

196 Commits

Author SHA1 Message Date
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
22e99e49ce Improvement CORE-3020 - Add clause RETURNING ... INTO ... to MERGE statement 2010-06-10 02:03:03 +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
asfernandes
5ac2130415 Cleanup - switch from pointer arithmetics to sane way to get impure places 2010-04-05 21:20:08 +00:00
asfernandes
e1ba33a2ae Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required. 2010-04-02 21:48:15 +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
4f9b9161b4 Feature CORE-2006 - SUBSTRING with regular expression (SIMILAR TO) capability 2010-02-21 01:47:54 +00:00
asfernandes
c737d6a807 Create ExprNode class hierarchy.
Convert CONCATENATE and aggregate functions to it.

Fix some bugs:
- select sum(n) over (order by n2), sum(n) over (), n, n2 from x1;
- select (select 1 from x1 b where list(1, a.n) = 1) from x1 a;
2010-02-13 20:29:29 +00:00
robocop
50f1ad96e2 Misc. 2010-01-15 04:57:57 +00:00
asfernandes
e0ce09805a Remove the not agreed feature. Bad, bad... 2010-01-15 03:00:15 +00:00
asfernandes
72fab0e317 Update way to deliver parameterized exceptions so the client doesn't need special handling 2010-01-08 14:13:12 +00:00
asfernandes
be859980ea Feature CORE-832 - Parameterized exceptions 2010-01-07 00:16:50 +00:00
asfernandes
e4d9593ef1 Misc 2010-01-06 22:38:20 +00:00
asfernandes
63f481da40 1) Refactor the EXCEPTION statement
2) Cleanup DSQL nod_abort
2010-01-05 17:32:42 +00:00
asfernandes
534b8c020e Misc 2009-12-25 19:29:58 +00:00
dimitr
2702907c88 We don't need an EOS slot for PSQL functions. 2009-12-25 11:16:20 +00:00
robocop
105bb19114 Shortcut. 2009-12-24 12:56:31 +00:00
robocop
cd4c00ab21 Misc. 2009-12-24 10:42:32 +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
asfernandes
8968888820 Getters and setters for DsqlCompiledStatement and consts 2009-12-22 15:36:10 +00:00
asfernandes
dd6331f002 Some fixes; Misc. 2009-12-22 00:08:49 +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
985bc2db87 Separate the scratch, statement and request flags. Don't ask me why I didn't change them to bools. 2009-12-20 22:42:43 +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
hvlad
08bb67cff2 Fixed AV 2009-12-19 13:03:18 +00:00
robocop
503f2da15f Misc. 2009-11-22 10:08:13 +00:00
asfernandes
200a63b1b4 Reduce usage of legacy (and unsafe) nodes related to PSQL parameters and variables.
Use btyacc feature "inherited attributes" (kind of parameters for non-terminals).
2009-11-21 20:42:27 +00:00
robocop
4d71e728be Style. 2009-11-17 08:18:54 +00:00
robocop
16361cada8 Misc. 2009-11-01 10:58:16 +00:00
asfernandes
4a3d198ade Misc 2009-10-31 01:46:06 +00:00
robocop
b304b96224 Misc. 2009-10-30 10:43:42 +00:00
asfernandes
5b63c76a78 Misc 2009-10-25 01:08:00 +00:00
asfernandes
b31aaf0129 Some statements nodes refactor - creation of IfNode, ExitNode, SuspendNode, PostEventNode and SavePointNode. 2009-10-24 17:45:33 +00:00
asfernandes
ed0e0daeb3 - External Engines implementation.
- Plugins API.

- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.

- Fixed CORE-2699 - Common table expression context could be used with parameters.

- Introduce ODS 12.0.

- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
hvlad
4d1e602903 Fixed error in my patch for CORE-2558 : store save point number at impure area. Thanks to Adriano. 2009-08-06 06:30:35 +00:00
hvlad
7964c35930 Fixed bug CORE-2558 : AV at engine when some statement under autonomous transaction dropped transaction level savepoint 2009-08-05 21:36:49 +00:00
asfernandes
4759973045 Fixed CORE-2576 - Server may crash parsing wrong or truncated BLR
Full rebuild required - CMP_compile2 prototype changed
2009-08-02 04:10:07 +00:00
robocop
4e167d6fa6 Style. 2009-01-08 09:26:06 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +00:00
robocop
a1906d634f Style. 2008-06-03 06:19:50 +00:00
asfernandes
dbaf050e86 Set the tdbb->request to NULL when committing an autonomous transaction, as a normal COMMIT does. This fixes assertion related to system blobs created by DDL commands in EXECUTE STATEMENT. Test case:
execute block
as
begin
  in autonomous transaction do
     execute statement 'create table x (n integer)';
end!
2008-06-01 19:14:41 +00:00
asfernandes
d4bf9ab246 Split dsql_req into dsql_req and CompiledStatement. This should be my last refactoring to 2.5:
- dsql_req becomes a running request;
- CompiledStatement is derived from dsql_req. The compilation state previously in dsql_req comes to here;
- Rename many "request" parameters to "statement" where type is changed from dsql_req to CompiledStatement.
This changes makes easy the path to support compiled statement cache.
2008-05-24 03:19:52 +00:00
asfernandes
900c4ff7d3 Misc 2008-05-20 00:58:14 +00:00
asfernandes
d52dc96278 1) Move the new Node classes to appropriate files
2) Creation of StmtNode
3) Conversion of IN AUTONOMOUS TRANSACTION to InAutonomousTransactionNode (inherited from StmtNode) - it makes this feature almost self-contained

Please do a boot build or at least run blr_table.
2008-05-19 13:47:48 +00:00