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

106 Commits

Author SHA1 Message Date
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
2b6106938e Refactor variables 2010-11-02 17:05:01 +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
51f4b27991 Simplify the internal "null replacement" logic 2010-11-01 00:42:12 +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
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
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +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
robocop
98a2c6822d Warnings. 2010-09-24 09:53:51 +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
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
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
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
124e614654 Simplification 2010-08-05 00:47:06 +00:00
asfernandes
0b7c21172a Refactor CREATE/ALTER/DROP/RECREATE TABLE and DROP VIEW commands 2010-07-26 02:37:57 +00:00
asfernandes
4db389758f Refactor CREATE/ALTER/CREATE OR ALTER/RECREATE/DROP EXCEPTION commands 2010-07-11 18:21:42 +00:00
asfernandes
20b0bbaf82 Refactor CREATE/ALTER/DROP DOMAIN 2010-07-06 00:49:33 +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
12079f5ece Created class BlrWriter and reorganization (move BLR generation from statement to scratch) 2010-06-17 01:18:40 +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
d515370b9d Thread safety: do not write in request shared place during execution. 2010-04-07 15:31:32 +00:00
asfernandes
fe9bf02848 Refactor user and system functions nodes 2010-04-05 18:43:11 +00:00
asfernandes
2ed85aef29 Misc 2010-03-21 23:01:30 +00:00
aafemt
e3ec775cfa Const-ness 2010-03-21 22:06:17 +00:00
asfernandes
e992be2595 Hope this fix the DDL problem reported by Ivan Prenosil 2010-03-06 19:10:48 +00:00
robocop
9efb1d2907 Misc. 2010-02-23 04:30:52 +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
robocop
835750a54c Misc. 2010-02-16 08:53:31 +00:00
asfernandes
0ce6fb958c Feature CORE-2869 - Window functions: LAG and LEAD. 2010-02-16 00:26:53 +00:00
asfernandes
01f6e290fd Misc 2010-02-15 00:43:04 +00:00
asfernandes
d3c0e1971a 1) Feature CORE-2830 - Window functions: DENSE_RANK, RANK and ROW_NUMBER
2) Fix BLR filter for some procedure verbs
2010-02-14 19:08:22 +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
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
fbcaf72adf Move and rename methods 2009-12-06 19:11:25 +00:00
asfernandes
7a78601ef2 1) Use metadata character set in DSQL cache
2) Make exceptions in metadata charset and convert them to the client charset - this should fix CORE-2431
3) Support for "internal" (engine) DSQL statements and use in COMMENT ON
2009-12-05 14:21:52 +00:00
robocop
28f0191c7f Misc. 2009-10-31 03:33:45 +00:00
asfernandes
2cb5fad9ea Misc 2009-10-30 14:24:16 +00:00
robocop
b304b96224 Misc. 2009-10-30 10:43:42 +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
asfernandes
679ac834a5 Small inconsistency noticed by Claudio 2008-05-25 15:41:54 +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
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