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

456 Commits

Author SHA1 Message Date
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +00:00
asfernandes
bcbc1ed46e Move some previously static functions to StmtNodes.cpp 2010-11-29 14:54:07 +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
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
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
asfernandes
38ba5852ae Cleanup: remove blr_prot_mask and blr_lock_state support 2010-10-16 15:34:52 +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
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
asfernandes
1f8342a3a1 Fixed CORE-3141 - The last column in a view is returning as a null value even when it's not 2010-09-25 20:19:43 +00:00
asfernandes
0eb26b8e97 Misc 2010-09-20 16:26:25 +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
96f2829728 Refactor nod_map and nod_sort to type-safe MapNode and SortNode 2010-08-29 18:20:44 +00:00
dimitr
f1b959694c Fixed the engine crash caused by the recent refactoring. 2010-08-28 08:52:37 +00:00
dimitr
e7c44824e6 Fixed a few suspicious places related to the variable cloning. 2010-08-25 08:02:21 +00:00
asfernandes
e736c7d15c Misc 2010-08-25 00:42:17 +00:00
asfernandes
0ce8cb6f2f Correction 2010-08-24 16:26:20 +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
18a6a6b4f9 More consts 2010-08-13 15:22:00 +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
7adb129d37 Frontport fix for CORE-3094 - Parameters doesn't work with NOT IN from a selectable procedure 2010-08-04 15:50:26 +00:00
alexpeshkoff
f28f040e0f Fixed CORE-3024: Error "no current record for fetch operation" after ALTER VIEW (and a lot of other possible inconsistencies) 2010-06-15 12:27:33 +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
39498cb65b Use AutoCacheRequest in all cacheable system requests. Fixes some request leakages. 2010-04-18 15:04:52 +00:00
dimitr
3c0def2549 I believe this limit should also be unconditional. 2010-04-15 18:09:50 +00:00
dimitr
4c86c50c11 Misc. 2010-04-15 16:12:39 +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
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
dimitr
4eedf7d29e Cleanup. 2010-04-14 08:30:29 +00:00
asfernandes
3387c9c288 Move impure area and rpbs to their own arrays 2010-04-09 15:43:48 +00:00
asfernandes
0762519962 Misc 2010-04-09 00:53:31 +00:00
asfernandes
ae34c52bae Misc 2010-04-08 15:49:46 +00:00
dimitr
c030d0f939 Let's consistently handle offsets as unsigned integers. 2010-04-08 12:17:54 +00:00