dimitr
e29b50f980
Front ported my yesterday's commits to trunk.
2012-12-23 07:10:56 +00:00
dimitr
cbe0f3cc54
Front ported to trunk.
2012-12-21 10:11:00 +00:00
dimitr
1a4c0c5808
1) Encapsulated the remaining external looper calls inside a SEH block. It allows to catch async exceptions coming while result set is being fetched. No performance penalty has been noticed.
...
2) Slightly refactored the looper call chain to avoid code duplication.
3) Fixed CORE-4010: Fetch cannot be subsequently interrupted via DELETE FROM MON$STATEMENTS.
2012-12-13 18:31:42 +00:00
dimitr
3971e49b30
Another bunch of changes for CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. The looper nodes should never ignore req_unwind and transform it to something else.
...
Review and testing would be appreciated, especially in regard to EXE_assignment.
2012-12-06 12:09:11 +00:00
alexpeshkoff
4ca6e669fe
1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
...
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00
hvlad
3ec82bdabf
Fixed bug CORE-3895 : High memory usage when PSQL code SELECT's from stored procedure which modified some data
2012-07-23 09:48:23 +00:00
dimitr
0ea7ae11f3
Fixed CORE-3092: ROW_COUNT is not cleared before the singleton INSERT statement,
2012-03-15 10:40:45 +00:00
alexpeshkoff
4e795f4047
Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports.
2012-03-01 08:55:43 +00:00
robocop
eed418a89e
Make blb resemble more a class: private data members, convert some functions into methods, add methods with code that was in other files, etc.
2012-02-15 03:34:21 +00:00
robocop
186c817caa
Playing with fire: converting some static functions into member functions. I tried to check every change I did.
2012-02-07 03:17:52 +00:00
robocop
e2914070b9
Misc.
2012-01-19 04:54:39 +00:00
dimitr
887b3c13da
For a number of reasons, it seems being a good thing to unwind the trigger requests ASAP.
2011-12-01 09:54:36 +00:00
asfernandes
56400c594a
Rename methods to match error constants as per Claudio request.
2011-11-10 14:35:40 +00:00
asfernandes
c627005a89
Feature CORE-3626 - Subfunctions in PSQL and EXECUTE BLOCK.
...
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBFUNC_1.output .
Also did:
- Refactor to share more code/data between procedures and functions.
- Fixed some PSQL functions problems.
2011-10-16 20:36:07 +00:00
asfernandes
5ae632cf0b
Feature CORE-1288 - Sub Procedures.
...
They're very simple for now. No access to parent variables nor to call neighbour procedures.
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBPROC_1.output .
2011-10-02 22:11:41 +00:00
asfernandes
cd7c8dee95
Use the BLR message definition of external procedures and functions.
2011-07-10 01:23:53 +00:00
asfernandes
7ad98cd292
Work in progress on the external engines API changes.
2011-06-01 01:44:54 +00:00
asfernandes
d0c2265105
Misc.
2011-05-10 01:12:14 +00:00
hvlad
fef1f49c94
Shared page cache implementation
2011-05-09 10:15:19 +00:00
robocop
43606cad9b
Misc, style, etc.
2011-04-02 04:27:07 +00:00
hvlad
72c30a8823
Avoid AV when system requests are released at database shutdown
2011-04-01 15:28:07 +00:00
asfernandes
876cfc1c78
Fixed DDL trigger crash reported in fb-devel.
2011-02-11 14:26:14 +00:00
asfernandes
305b989cf8
Fixed hang found with CORE-3340 test-case.
2011-02-09 21:26:18 +00:00
dimitr
5eec5f532f
Fixed CORE-3340 (Error in autonomous transaction with empty exception handler: can insert duplicate values into PK/UK column).
2011-02-09 10:59:24 +00:00
asfernandes
83d74dc2b4
Rework on line/column info support to make it faster
2010-12-05 00:55: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
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
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
2b6106938e
Refactor variables
2010-11-02 17:05:01 +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
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
76ff0957fd
Cleanup
2010-08-29 18:25:55 +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
7b8a8065c4
More consts
2010-08-12 00:59:48 +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
96b2ed0925
Hope this assumption to be correct
2010-08-07 15:49:53 +00:00
asfernandes
173b23109c
1) Better organization between request and statement. 2) Consts.
2010-08-05 15:55:49 +00:00
asfernandes
2e9f01a4e0
Fix DDL triggers
2010-08-05 00:44:58 +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
13ab14d888
We don't need this conditional limit. Windows SS is fine with 1000 levels of recursion.
2010-04-15 18:03:38 +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
871ffb24d3
Extending the message size limit from 64K to 4G. First stage.
2010-04-08 11:14:57 +00:00
robocop
8a1f9d5ecf
Misc: be consistent with evl.cpp:205 and exe.cpp:952.
2010-04-07 13:10:27 +00:00