8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 22:43:04 +01:00
Commit Graph

377 Commits

Author SHA1 Message Date
asfernandes
acfea28169 Make expression evaluation faster 2010-12-05 00:54: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
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
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
d68e42b731 Cleanup: nod_average2 and nod_total2 was very broken 2010-11-05 15:05:50 +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
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
asfernandes
38ba5852ae Cleanup: remove blr_prot_mask and blr_lock_state support 2010-10-16 15:34:52 +00:00
alexpeshkoff
250a808107 Temporary disable suggested by me solution for request format check - needs better checks, as is breaks CREATE DATABASE 2010-10-13 13:35:40 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
c6932824f7 Full fix for CORE-3024 2010-10-13 09:15:48 +00:00
asfernandes
91384eb587 Misc 2010-10-12 17:40:27 +00:00
alexpeshkoff
83d6a2f88c Restored a lot of changes, rolled back by me unintentionally 2010-10-12 11:36:51 +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
robocop
25b691353e Misc. 2010-09-23 09:53:50 +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
ada671c034 Refactor nod_index and nod_bit_* to InversionNode 2010-08-31 00:20:33 +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
173b23109c 1) Better organization between request and statement. 2) Consts. 2010-08-05 15:55:49 +00:00
alexpeshkoff
8d2b140459 Fixed CORE-3046: Assertion after ALTER TABLE 2010-06-15 11:57:13 +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
dimitr
1e2edd445d Reworked the rsb/cursor logic a bit. Now I don't think sub-queries should be cursors. 2010-04-15 16:10:51 +00:00
asfernandes
f9154aca75 Misc 2010-04-07 02:04:22 +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
fe9bf02848 Refactor user and system functions nodes 2010-04-05 18:43:11 +00:00
dimitr
3c6859f5e0 Misc. 2010-03-21 17:57:40 +00:00
dimitr
90b128d6b6 Fixed CORE-2890: SQLSTATE should also be available as a PSQL context variable like GDSCODE/SQLCODE.
To be later backported into v2.5.1, I suppose.
2010-03-21 07:29:58 +00:00
dimitr
63bedffa71 Refactored the sorter into a proper class.
Removed some dead code and unused files.
2010-03-16 11:19:29 +00:00
asfernandes
7232eff657 This is related to CORE-2912, but changes nothing internally. Intead of reading non-allocated memory, throw a (not always correct, btw) exception. 2010-03-09 15:43:59 +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
asfernandes
d8c99a9be2 1) Make procedures and functions member of the same hierarchy (Routine class)
2) Some completion for external functions
2009-12-27 22:05:22 +00:00
asfernandes
8f19a2b7e1 Consts 2009-12-27 19:05:38 +00:00
dimitr
debe65bcfb Support for PSQL functions (other JRD changes). Still work in progress. 2009-12-21 17:43:01 +00:00
robocop
13a8d5488f Get rid of the obsolete option CompleteBooleanEvaluation in the config file. We always do short-circuit boolean logic. 2009-12-21 07:01:24 +00:00
robocop
dae574f7f1 Misc, style and unused vars. 2009-12-13 10:41:53 +00:00