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

623 Commits

Author SHA1 Message Date
dimitr
44cc684fb7 Misc. 2011-01-28 17:22:44 +00:00
asfernandes
23ae9f62e8 Refactor DSQL's BREAK, LEAVE and CONTINUE. 2011-01-22 21:32:29 +00:00
asfernandes
f0586b01eb Refactor DSQL's nod_join and nod_union. 2011-01-22 20:40:04 +00:00
dimitr
075bb76c5b Fixed CORE-3311: Error "data type unknown" while preparing UPDATE/DELETE statements with the parameterized ROWS clause.
Cleanup.
2011-01-20 04:41:10 +00:00
asfernandes
123aa675ab Refactor nod_aggregate, nod_relation, nod_rse, nod_derived_table, nod_query_spec and nod_limit 2011-01-09 21:58:56 +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
4a9f98bed7 Refactor DSQL's nod_field 2010-12-19 21:42:32 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +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
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
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
58604d5d68 Back the generic usage of nod_desc by a call to MAKE_desc 2010-11-01 13:45:52 +00:00
asfernandes
51f4b27991 Simplify the internal "null replacement" logic 2010-11-01 00:42:12 +00:00
asfernandes
b5cfdbf513 Misc 2010-10-27 00:32:58 +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
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +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
asfernandes
05a37a0de2 Fixed CORE-3164 - Parameterized requests involving blob fields fails when connected using charset UTF8 2010-10-06 15:25:50 +00:00
asfernandes
b49391c8d0 Misc 2010-09-25 23:08:18 +00:00
robocop
98a2c6822d Warnings. 2010-09-24 09:53:51 +00:00
robocop
bca99bc9f0 Misc. 2010-09-23 09:48:42 +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
a539537002 Correction for CORE-3090 2010-08-07 02:43:29 +00:00
asfernandes
7f3dc62888 Frontport fix for CORE-3090 - Incorrect LEFT JOIN result using table and derived constant subquery 2010-08-07 02:10:08 +00:00
asfernandes
ad57aa29a1 Refactor CREATE/ALTER/CREATE OR ALTER/RECREATE VIEW and cleanup related to previously refactors 2010-08-02 02:22:26 +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
dimitr
fc70141a07 Fixed CORE-3064: Using the procedure alias inside an explicit plan crashes the server. 2010-07-02 10:43:33 +00:00
asfernandes
f2c938d9fa Refactor CREATE/DROP COLLATION 2010-06-26 01:52:06 +00:00
asfernandes
75af3ccf65 Misc/cleanup 2010-06-22 00:53:35 +00:00
asfernandes
fbd5ef3f96 Cleanup 2010-06-18 16:48:33 +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
22e99e49ce Improvement CORE-3020 - Add clause RETURNING ... INTO ... to MERGE statement 2010-06-10 02:03:03 +00:00
alexpeshkoff
88b8a40a04 1. Cleaned up most of SUPERSERVER usage.
SUPERSERVER has 4 different meanings in our code:
- this is milticlient server (replaced with Config::getMultiClientServer())
- use shared data cache (replaced with Config::getSharedCache())
- use shared metadata cache (replaced with macro SHARED_METADATA_CACHE)
- database are NOT shared between processes (replaced with getSharedDatabase())

2. Use fb_smp_server as both superclassic and classic binary on posix
(xinetd autodecection is done).

3. Small posix build cleanup.
2010-04-15 14:40:27 +00:00
asfernandes
fe9bf02848 Refactor user and system functions nodes 2010-04-05 18:43:11 +00:00
asfernandes
69f05b774a Misc 2010-03-27 18:20:04 +00:00
hvlad
25c5d1ac94 Fixed bug CORE-2943 : parsing error recursive query with two recursive parts 2010-03-25 14:14:22 +00:00
asfernandes
11a3746970 Misc 2010-03-25 02:10:57 +00:00
asfernandes
e0762f5f95 Improvement CORE-2005 - Support SQL 2008 syntax for MERGE statement with DELETE extension 2010-03-23 16:06:16 +00:00
asfernandes
c4bca14cc6 Fixed CORE-2913 - COLLATE expressions are applied incorrectly 2010-03-10 15:46:31 +00:00
asfernandes
0829b12f34 Fixed CORE-2888 - A memory corruption cause incorrect query evaluation and may crash the server 2010-02-26 01:03:54 +00:00
asfernandes
5888aed165 Correction 2010-02-24 00:53:10 +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
dimitr
7afdf35892 Enabled WITH LOCK for non-DISTINCT unions. It's expected to work correctly. 2010-02-16 16:28: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
e14bd3a279 Comment. 2010-01-31 05:10:30 +00:00
asfernandes
abf4ab92d3 More comments, misc and fix for aggregate inside window ORDER BY clause 2010-01-30 23:08:04 +00:00
asfernandes
4a202ba5a5 Misc 2010-01-30 14:45:41 +00:00
asfernandes
ee511fc7ec Comments (explanations and non-used code) 2010-01-30 02:32:57 +00:00
robocop
e5a0c430aa Misc. 2010-01-29 11:07:42 +00:00
asfernandes
465ec12478 Misc 2010-01-29 01:16:34 +00:00
asfernandes
81c3826fd1 Misc 2010-01-28 17:22:37 +00:00
asfernandes
8a0c6c9ea9 Simplify DSQL removing a lot of copy-and-paste and recursion that change some parameters some times.
Some assertion errors may have been introduced. It would be easy to revert them.
2010-01-28 15:18:11 +00:00
robocop
446097fe8e Be explicit, change "qualifier" to "package" in QualifiedName (needed anyway if/when schemas are added). 2010-01-27 04:32:27 +00:00
asfernandes
16f77c21a2 Cleanup 2010-01-27 02:20:19 +00:00
robocop
1d87d749f0 Misc. 2010-01-26 08:20:27 +00:00
asfernandes
b68658534f Feature CORE-2823 - Support the ORDER BY subclause for current aggregate functions (except LIST) 2010-01-23 03:02:53 +00:00
asfernandes
cf4e283f7d Separate aggregate/union maps from window maps 2010-01-21 18:33:18 +00:00
asfernandes
2faab16698 Misc 2010-01-21 02:51:32 +00:00
dimitr
ebf7907918 Misc. 2010-01-20 07:34:31 +00:00
asfernandes
9eadb6c355 Move the code to below thanks to Dmitry review.
This allow us to save a context number.
2010-01-19 18:26:28 +00:00
asfernandes
57b443e2d1 Complement Dmitry fix 2010-01-19 17:52:39 +00:00
dimitr
90beb3cb8c Hopefully, this change resolves CORE-2812: Prohibit any improper mixture of explicit and implicit joins.
A wider testing would be much appreciated.
2010-01-19 09:31:43 +00:00
dimitr
d35f6e316b 1) Simplify the explicit plan handling between the parser and the engine. It makes no sense to pass the join type as it's ignored internally.
2) Support hash joins in the plan output and in the parser. For the latter, it's just the syntax sugar, same as loop vs merge join (see above).
2010-01-19 09:25:29 +00:00
asfernandes
7fbee2c76b Feature OVER (PARTITION BY ...) clause for window functions 2010-01-18 21:37:47 +00:00
asfernandes
c3f9ef27e8 Refactor CREATE GENERATOR/SEQUENCE 2010-01-10 17:32:40 +00:00
asfernandes
63f481da40 1) Refactor the EXCEPTION statement
2) Cleanup DSQL nod_abort
2010-01-05 17:32:42 +00:00
dimitr
67a26916d9 Simplified the code a bit more (removed the redundant processing). 2010-01-04 07:54:26 +00:00
dimitr
778ea0d9bf Small refactoring (code simplification). 2010-01-03 10:33:22 +00:00
asfernandes
95e5fd5873 Fix problem of mixing dbkey and record version on the same internal parameter 2009-12-26 02:21:56 +00:00
asfernandes
534b8c020e Misc 2009-12-25 19:29:58 +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
robocop
b2798cbd87 Misc. 2009-12-16 08:07:36 +00:00
asfernandes
b137cdfd80 Misc 2009-12-14 23:55:56 +00:00
robocop
dae574f7f1 Misc, style and unused vars. 2009-12-13 10:41:53 +00:00
asfernandes
fe95abee91 Make WITH LOCK work with window functions 2009-12-11 14:47:41 +00:00
hvlad
1dc03fa3b9 Fixed bug CORE-2783 : AV using recursive query as subquery in SELECT list and ORDER'ing by them 2009-12-09 23:06:29 +00:00
asfernandes
9ec1c36a55 Cleanup 2009-11-28 19:39:23 +00:00