asfernandes
2aa3e8dd4d
Working in progress on the fix for CORE-4271: unify as possible the handling of procedures and functions.
2013-12-12 14:42:31 +00:00
dimitr
0660edf259
A few corrections, mostly regarding new-style vs legacy UDFs.
2013-06-19 09:14:23 +00:00
alexpeshkoff
b9a96911ca
Avoid extra atomic operations when assigning pointer to the object with pre-incremented counter (like returned from the function) to reference-counted pointer holder
2013-04-17 11:16:06 +00:00
asfernandes
e0567463bf
Revert external routines to request-based (*) code, but now using a totally different internal approach.
...
* This is not ideal IMO, but much more easier to currently support stack traces, and domain's defaults and validations.
2013-04-11 15:44:17 +00:00
asfernandes
871c073279
Refactor.
2013-03-31 15:55:01 +00:00
asfernandes
850e529c81
Fixed CORE-4068 - create package fails on creating header as soon as there is at least 1 procedure name.
2013-03-27 01:34:44 +00:00
asfernandes
48fd751c6e
Fixing FB_MESSAGE macro and external functions and procedures.
...
Isolate external routines them from request-based ones.
2013-03-04 01:42:58 +00:00
asfernandes
dc8e42e9bb
Migrate external triggers to the new message-based style.
2013-01-29 01:21:32 +00:00
alexpeshkoff
c4ae450de4
Re-read attachment from lock after taking lock in attachment handler
2012-12-20 12:18:52 +00:00
alexpeshkoff
c7454a49a5
Work in progress (committed due to SF upgrade). Checked only on SS.
...
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
dimitr
0361052c41
Avoid a small memory leak.
2012-07-10 16:08:01 +00:00
dimitr
42a4c93b97
1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
...
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
dimitr
bd5226b0e5
Misc.
2012-06-19 18:27:51 +00:00
alexpeshkoff
2a01e4bcf9
Implemented CORE-3861: Make it possible to encrypt database
...
Also some cleanups, the most important are:
- meaningful ctor on Jrd::Lock, helping to avoid code dup
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
robocop
70d5ebdfdf
- Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
...
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +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
21cd78a0fd
Cleanup: unused functions, parameters & variables.
2012-01-24 03:37:43 +00:00
robocop
e2914070b9
Misc.
2012-01-19 04:54:39 +00:00
asfernandes
56400c594a
Rename methods to match error constants as per Claudio request.
2011-11-10 14:35:40 +00:00
dimitr
444d5302e1
Refactored the tdbb initialization, especially in AST and BG threads.
...
Replaced dbb_use_count with a list of active requests (to be utilized later).
Misc cleanup.
2011-10-18 18:02:57 +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
dimitr
e0f5a68da0
More work on enlarging the message buffers. To be continued.
2011-01-28 18:50:27 +00:00
asfernandes
9c42d4e5af
Finish the statements refactor in the engine. Get rid of jrd_nod.
2010-12-04 22:15:03 +00:00
dimitr
c585c2a257
Fixed assertion when restoring a database having expression insides referencing non-existent UDFs.
2010-11-24 16:00:21 +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
dimitr
7eded400e8
Let's clearly distinguish between deterministic and invariant functions, they're not the same thing actually. Runtime optimization usage is to be re-considered, if necessary.
...
Warning: this includes an ODS change, please boot-build.
2010-11-13 15:03:44 +00:00
dimitr
0d0c7be57a
Implemented support for deterministic (invariant) functions.
2010-11-13 08:56:15 +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
dimitr
df245ba88e
Fixed problems with recursive PSQL functions. Minor refactoring.
2010-10-08 09:40:14 +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
8047048dc4
Misc
2010-08-26 15:40:51 +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
0c47a04538
1) Use RAII with the non-cached requests.
...
2) Change GPRE generated code to something that fits the future SMP-aware engine, replacing calls of "request = CMP_compile2(...)" by "request.compile(...)". Boot build required.
2010-04-19 22:49:18 +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
asfernandes
b36b9764ce
Misc
2010-04-16 02:31:36 +00:00
dimitr
aa287ffd9f
Fixed the NULL handling.
2010-04-15 11:46:42 +00:00
dimitr
3269c73d06
Optimization: allocate the messages during prepare time rather than runtime.
...
Also, fixed one bug in the parameter handling for PSQL functions.
2010-04-15 11:07:05 +00:00
dimitr
307c3be080
Fixed evaluation of default arguments for PSQL (and, supposedly, external) functions.
...
Improved error handling.
2010-04-14 09:45:27 +00:00
dimitr
6d2143793f
Fixed the scope. Csb must die before the pool it was allocated from.
2010-04-14 04:39:36 +00:00
asfernandes
edb4af722d
Correction
2010-04-13 23:01:41 +00:00