asfernandes
9c42d4e5af
Finish the statements refactor in the engine. Get rid of jrd_nod.
2010-12-04 22:15:03 +00:00
asfernandes
a7266ec9d1
Correction
2010-11-23 14:30:39 +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
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
bca99bc9f0
Misc.
2010-09-23 09:48:42 +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
8657f4b599
Better internal handling of dependencies
2010-08-11 02:59: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
dd5940a616
Improvement CORE-3057 - Allow the usage of blobs in COMPUTED BY expressions
2010-06-20 14:49:34 +00:00
asfernandes
fe9bf02848
Refactor user and system functions nodes
2010-04-05 18:43:11 +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