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
asfernandes
10f4b3cbb7
Simplify. This is always correctly aligned.
2010-04-06 15:54:29 +00:00
asfernandes
5ac2130415
Cleanup - switch from pointer arithmetics to sane way to get impure places
2010-04-05 21:20:08 +00:00
robocop
ac551e2b71
Cleanup.
2010-04-04 08:52:10 +00:00
robocop
08bedf3ae3
Style.
2010-04-04 08:51:31 +00:00
asfernandes
e1ba33a2ae
Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required.
2010-04-02 21:48:15 +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
b4e3452fc4
Addressed Adriano's and Claudio's worries re. different timestamps passed into different triggers.
...
I'm not sure it's really important, but anyway...
2010-03-08 16:16:30 +00:00
dimitr
7a33280cef
Misc.
2010-02-26 06:54:44 +00:00
asfernandes
82fe06ed9a
Refactor FOR statement and SELECT...INTO. Indirectly (blr_for), JRD side of standard SELECT is affected as well.
2010-02-22 16:00:49 +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
robocop
446097fe8e
Be explicit, change "qualifier" to "package" in QualifiedName (needed anyway if/when schemas are added).
2010-01-27 04:32:27 +00:00
dimitr
5a22ba5662
Undo. Sorry for being so careless. This BLR is used by GPRE.
2010-01-15 08:08:41 +00:00
dimitr
4a69fa3754
Cleanup.
2010-01-15 08:03:33 +00:00
asfernandes
63f481da40
1) Refactor the EXCEPTION statement
...
2) Cleanup DSQL nod_abort
2010-01-05 17:32:42 +00:00
asfernandes
a5ab8a2b33
Make referencing and execution (try) of unimplemented packaged routines work correctly
2009-12-31 11:24:28 +00:00
robocop
a62efcde16
Misc.
2009-12-30 04:24:31 +00:00
asfernandes
82ccb81d3b
Unify even more procedure and function handling. While at it, fix a wrong access to req_procedure when validating function.
2009-12-30 01:40:39 +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
d3ac9ac6cc
More refactoring: name changes, accessors, consts, removed not good references (statement referencing scratch and metadata indirectly)
2009-12-23 00:57:08 +00:00
dimitr
debe65bcfb
Support for PSQL functions (other JRD changes). Still work in progress.
2009-12-21 17:43:01 +00:00
dimitr
45b5fc2811
Cleanup.
2009-12-16 18:35:55 +00:00
asfernandes
b137cdfd80
Misc
2009-12-14 23:55:56 +00:00
dimitr
7600abf189
Fixed the build.
2009-12-10 05:20:20 +00:00
dimitr
7b14c3c3e2
Simplified the code, thanks to Adriano.
2009-12-10 05:11:43 +00:00
asfernandes
925bcc9cf6
Misc / warnings
2009-12-10 00:02:01 +00:00
dimitr
11495a55fb
Refactored the whole RSB stuff into classes. They're inside the /recsrc sub-directory now.
...
Fixed the layering for WITH LOCK and (partially) ANY/ALL predicates.
Cleaned up the outdated code that never worked (mapping DISTINCT to an index, some VMS remainings).
Wiped out a lot of the pre-ODS11 optimizer logic. Some minor adjustments there.
Re-implemented the full outer join from scratch. This resolves CORE-2678 (full outer join cannot use available indices).
Resolved CORE-2796: DB_KEY is always zero for external tables.
Implemented the core part of the scrollable PSQL cursors. Implementation is still incomplete, but ready for testing.
Some other changes I don't recall at the moment ;-)
WARNING! The engine may be unstable. Please email me about any issues found.
2009-12-09 18:45:44 +00:00
asfernandes
7a78601ef2
1) Use metadata character set in DSQL cache
...
2) Make exceptions in metadata charset and convert them to the client charset - this should fix CORE-2431
3) Support for "internal" (engine) DSQL statements and use in COMMENT ON
2009-12-05 14:21:52 +00:00
robocop
579a456329
Style.
2009-11-25 08:38:52 +00:00
robocop
9af5ae7f8d
Style.
2009-11-23 05:24:29 +00:00
uid32383
eca4ecba76
Comments.
2009-11-22 03:56:20 +00:00
dimitr
e6909de7f7
Wipe out the SCROLLABLE_CURSORS code + minor cleanup.
...
Also, surfaced scrollability for PSQL cursors (without internal support yet).
2009-10-31 06:25:01 +00:00
asfernandes
4a3d198ade
Misc
2009-10-31 01:46:06 +00:00
robocop
07dc116ed2
Misc.
2009-10-30 10:50:59 +00:00
asfernandes
b31aaf0129
Some statements nodes refactor - creation of IfNode, ExitNode, SuspendNode, PostEventNode and SavePointNode.
2009-10-24 17:45:33 +00:00
asfernandes
dc5edd5aed
Misc
2009-10-23 00:42:40 +00:00
asfernandes
b2f994c719
Use correct memory pools
2009-10-21 23:48:07 +00:00
asfernandes
ed0e0daeb3
- External Engines implementation.
...
- Plugins API.
- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.
- Fixed CORE-2699 - Common table expression context could be used with parameters.
- Introduce ODS 12.0.
- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
robocop
de4be11750
Misc.
2009-07-13 10:00:43 +00:00
asfernandes
5dda9c1677
Misc
2009-06-27 03:03:56 +00:00
robocop
5dadf14ad0
Small cleanup.
2009-06-26 10:19:49 +00:00
robocop
0868cdd04e
Apply the same trick as in evl.cpp for scrollable cursors' conditional code.
2009-06-25 15:58:09 +00:00
robocop
51d3c9b756
Let's use more typical #ifdef to test macros instead o #if.
2009-05-29 11:27:41 +00:00
hvlad
9a749a272f
Implement improvement CORE-2452 : Add Role Name in input parameters for EXECUTE STATEMENT
2009-05-14 10:21:47 +00:00
alexpeshkoff
cef41b3286
1. Solaric/Sparc SunProCC port.
...
2. Cleanup SOLARIS_MT threading model.
2009-05-05 08:06:37 +00:00
asfernandes
9178fc4100
Misc
2009-05-01 02:46:18 +00:00
alexpeshkoff
8c983fec26
Fixed alignment issues with on-stack vary strings
2009-04-29 14:00:32 +00:00
robocop
2d7cb94844
Unused params
...
Some BLR checks
2009-04-28 13:08:04 +00:00
alexpeshkoff
58bdb6c241
Cleanup - unsupported port HP10
2009-04-10 15:36:58 +00:00
asfernandes
f6f364da49
Trim trailling spaces
2009-04-04 16:39:31 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
dimitr
ca94ba9d07
Restored the legacy logic that was zapping the output NULL descriptors to mimic some pseudo-empty values.
...
Just for symmetry, unconditionally applied the same logic to inputs (it was there for blobs only).
Finally, do the same in the original place, EXE_assignment(). A more complex original code that tried to care about character sets is removed.
2009-03-03 14:57:53 +00:00
dimitr
5792f04f98
Front ported CORE-2326: AV when committing a new view while trigger on rdb$relations is in place.
...
Actually, this fix is not required for v2.5 due to the DFW logic changes there, but it doesn't hurt either.
2009-02-23 14:07:28 +00:00
dimitr
22bd1345c5
Let's count user DSQL statements only.
2009-02-05 20:41:47 +00:00
hvlad
3e8de2ec7c
Performance : move costly method out of the loop
2009-02-05 15:03:22 +00:00
asfernandes
612c108e3e
Misc
2009-02-02 03:35:52 +00:00
hvlad
115602ff06
Trace services support
2009-02-01 22:10:12 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
asfernandes
989d851fa3
Misc
2009-01-15 03:46:48 +00:00
robocop
582cdf185b
Style.
2009-01-14 09:19:00 +00:00
robocop
77bd687168
Style.
2009-01-14 08:22:32 +00:00
robocop
5ccf313d65
Collapse two cases being exactly the same.
2008-12-21 10:57:23 +00:00
robocop
95292d1731
Style.
2008-12-20 08:12:19 +00:00
robocop
0a94d6fee8
Style.
2008-12-18 10:57:12 +00:00
asfernandes
8fbf0e8e8c
Remove trailing spaces (.cpp files)
2008-12-05 01:20:14 +00:00
asfernandes
3dcddd6ed5
Misc
2008-11-30 02:23:01 +00:00
dimitr
c4c496b79c
Fixed CORE-2017: I/O statistics for stored procedures is not accounted in monitoring tables.
...
This patch adds lazy statistics increments to the whole request call stack.
2008-11-06 16:04:20 +00:00
alexpeshkoff
d8ea120ded
AIX port - use FB_ prefix for alignment constants
2008-11-05 11:26:23 +00:00
asfernandes
0793554269
Fixed CORE-2117 - Incorrect ROW_COUNT value with indexed retrieval and subquery
2008-10-11 15:46:43 +00:00
dimitr
a2eee6c085
Fixed CORE-2101: Bugcheck 249 when attempting to fetch outside the end-of-stream mark for the open PSQL cursor.
2008-10-08 11:59:56 +00:00
alexpeshkoff
a06ae8dd0c
1. Fixed illegal use of local variable in MET_trigger_msg() - thanks to Claudio.
...
2. Fixed minor bug - use of MetaName in PAR_symbol_to_gdscode() was illegal
cause maximum length of error name can be up to 32 symbols,
which does not fit into MetaName limit (31). And we already have 4 such names!
2008-09-03 11:23:00 +00:00
asfernandes
9150e6f4f2
This should fix regressions related to fixes of:
...
CORE-501 - Optimization problem with COALESCE
CORE-1343 - Bug with a simple case and a subquery
CORE-2041 - update or insert with gen_id() with wrong generator value
And should fix this one (snapshot build bug):
CORE-2051 - don't work subquery in COALESCE
2008-09-01 13:18:02 +00:00
asfernandes
1899067660
Misc
2008-08-30 03:14:08 +00:00
asfernandes
7f55ecabda
Fix Windows build
2008-08-28 15:54:21 +00:00
alexpeshkoff
13a15d4bfe
1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
...
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
asfernandes
ddb042bbff
Fixed CORE-2031 - Null in the first record in a condition on rdb$db_key
2008-08-05 15:16:58 +00:00
asfernandes
ce4bf91533
Misc
2008-07-01 01:12:02 +00:00
alexpeshkoff
a2e416210b
Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
...
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
hvlad
5d9c430674
Implemented improvement CORE-1928 : Allow EXECUTE STATEMENT to inherit access privileges of caller stored procedure or trigger.
...
Allow to specify EXECUTE STATEMENToptional clauses in any (not fixed) order.
Use INTERNAL_PROVIDER for access to the current database by another user too.
2008-06-08 20:42:27 +00:00
asfernandes
d52dc96278
1) Move the new Node classes to appropriate files
...
2) Creation of StmtNode
3) Conversion of IN AUTONOMOUS TRANSACTION to InAutonomousTransactionNode (inherited from StmtNode) - it makes this feature almost self-contained
Please do a boot build or at least run blr_table.
2008-05-19 13:47:48 +00:00
dimitr
e3375a845b
Misc.
2008-05-05 04:39:09 +00:00
robocop
83d3ddd6cb
Replace custom code by helper class ThreadStatusGuard.
2008-04-26 10:29:52 +00:00
hvlad
969a81f138
Lets cleanup status vector correctly.
2008-04-23 09:31:40 +00:00
hvlad
2c370b3dc8
Use new EXEC STMT implemetation for all three BLR verb's.
2008-04-17 11:06:48 +00:00
hvlad
d5aa346176
Make provider's registration not dependent from existance of EDS::Manager instance. Noted by Adriano.
2008-04-12 21:20:26 +00:00
robocop
a808a2bda2
const and style.
2008-04-12 11:56:32 +00:00
asfernandes
6e59d736df
1) Fix Linux build
...
2) Misc
2008-04-11 01:38:50 +00:00
hvlad
703bbdf4c1
Added missed check on req_null. Thanks to Adriano.
2008-04-10 06:48:22 +00:00
asfernandes
0e8febd6e3
Misc
2008-04-10 02:35:30 +00:00
hvlad
fe3f8c184b
New EXECUTE STATEMENT with support of external data source implementation
2008-04-09 20:18:47 +00:00
asfernandes
21da64cca7
Link blobs of autonomous transaction with the outer transaction - to fix invalid BLOB ID errors.
2008-04-05 19:28:52 +00:00
robocop
cc72b37c9a
Introduce more specific errors for date-time operations.
2008-03-28 13:21:59 +00:00
dimitr
b87b5032ef
Changes in the TimeStamp class by Dmitry Kovalenko.
2008-03-26 10:21:04 +00:00
asfernandes
5496df8839
Misc
2008-03-26 02:13:34 +00:00
asfernandes
c25b340543
Fixed CORE-1797 - OLD/NEW.RDB$DB_KEY returns incorrect result in triggers
2008-03-25 19:41:13 +00:00
asfernandes
21a13650eb
More problematic cases of CORE-1798 - thanks to Dmitry
2008-03-21 19:05:24 +00:00
asfernandes
827afb7aa4
Fixed CORE-1798 - RDB$DB_KEY evaluates to NULL in INSERT ... RETURNING
2008-03-21 17:05:21 +00:00
asfernandes
262dbadc4f
Misc
2008-03-15 17:55:27 +00:00
asfernandes
c7ec88bee4
1) Created classes PreparedStatement and ResultSet
...
2) Changed EXECUTE STATEMENT to use these classes
3) Fixed CORE-1784 - Error with EXECUTE PROCEDURE inside EXECUTE STATEMENT
2008-03-13 16:37:20 +00:00
dimitr
ebad313cfd
1) Fixed CORE-1788.
...
2) Protected from other similar deadlocks.
3) Refactoring.
2008-03-13 14:20:32 +00:00
robocop
2b33eae4d1
Minimize casts.
2008-03-10 08:31:35 +00:00
robocop
3e9476e464
Misc.
2008-03-04 06:02:32 +00:00
dimitr
99caa91b85
DSQL integration into the engine.
2008-02-28 13:48:16 +00:00
robocop
e9e1ead67a
Mostly style, constness, native memcpy and explicit constructors.
2008-02-02 17:04:06 +00:00
asfernandes
ed51d0728b
DSQL sync. changes
2008-02-01 20:18:11 +00:00
dimitr
a38b327886
Cleanup. Get rid of the JrdMemoryPool.
2008-01-29 10:11:52 +00:00
dimitr
8f742ba52c
Major synchronization changes. Description of the commit will be posted to fb-devel.
2008-01-26 12:57:52 +00:00
alexpeshkoff
39896cb955
Fixed CORE-1671: atexit() calls in client libraries cause segfaults
...
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory
To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.
Also some related cleanup.
2008-01-23 15:52:40 +00:00
dimitr
48e81dd58a
The merge is being fixed.
2008-01-16 12:22:11 +00:00
dimitr
1fa56f4cd7
The merge is being fixed.
2008-01-16 12:10:43 +00:00
dimitr
e3128c2479
The merge continued.
2008-01-16 08:54:50 +00:00
alexpeshkoff
bd51630b00
Optimized code for domain-based variables (and procedure arguments)
2007-12-08 13:41:26 +00:00
asfernandes
41faeba3cc
Misc
2007-12-05 00:03:15 +00:00
alexpeshkoff
2bc1225320
Fixed possible tdbb state restore problem, noticed by Claudio
2007-12-04 13:44:56 +00:00
alexpeshkoff
eea9070f48
Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster
2007-12-03 15:46:39 +00:00
hvlad
2b47bbe55b
Revert files back after wrong commit
2007-11-19 00:21:18 +00:00
hvlad
86f1141328
Execute statement with support of external data source
2007-11-18 22:59:20 +00:00
dimitr
7903960607
Reset the statistics for every sub-request (aka call) execution.
2007-09-25 12:09:54 +00:00
asfernandes
810e9fef6c
Misc
2007-06-27 02:08:25 +00:00
asfernandes
81f1f817e2
Fixed CORE-1331 - Charset transliterations don't work with EXECUTE STATEMENT
2007-06-23 18:48:27 +00:00
alexpeshkoff
ea8ba3370d
Cleaned up mutexes - removed MUTX_T and related macros
2007-06-06 12:37:24 +00:00
asfernandes
d34c0cacc5
Misc
2007-05-24 00:39:38 +00:00
asfernandes
2e663f91b5
Improvement CORE-1280 - Verify well-formedness of text blobs
2007-05-23 02:26:27 +00:00
alexpeshkoff
f0d465bf34
Fixed gcc warnings, general (un)signed usage cleanup
2007-04-11 09:28:50 +00:00
asfernandes
266af4e84a
Fixed crashes while restoring - reported privately by Alex
2007-03-28 02:16:52 +00:00
asfernandes
032a4b170c
Don't leak memory after conversion to blob for store the value in a variable or parameter
2007-03-24 03:00:22 +00:00
asfernandes
23dba8075c
Fix problem where a temporary blob could not be returned to the client throwing "invalid BLOB ID"
2007-03-22 01:42:33 +00:00
hvlad
b3dcfede36
Close external table's file when relation is not used by the engine.
...
This is simplest fix for bug CORE-132 (Restore fails on external table) and CORE-961(Free external tables)
2007-03-19 21:34:52 +00:00
dimitr
57c02cc754
Front-ported fix for CORE-1140.
2007-03-09 08:16:37 +00:00
asfernandes
2fa7a76177
Misc
2007-03-06 02:29:48 +00:00
robocop
230614bb17
Totally misc.
2007-03-05 06:30:23 +00:00
asfernandes
083c81bfd4
Fixed a problem reported by Dmitry where UPDATE and DELETE was not working with views with triggers.
2007-03-04 20:33:28 +00:00
asfernandes
2100a06c84
Make MOV_move know how to move blobs.
...
This fixes CORE-1147: Blobs are not converted to string in UDF parameters.
2007-03-02 00:46:03 +00:00
asfernandes
2d26b3f5f8
Allow BLOBs in EXECUTE STATEMENT and possibly in others unkown cases
2007-02-27 02:36:20 +00:00
asfernandes
05e6ebd58c
Check constraints when reading variables/parameters only if it's the first read and it's wasn't assigned yet
2007-02-06 14:25:10 +00:00
alexpeshkoff
d66281291f
1. Make classic server close shutdown normally when killed by signals 2 & 15.
...
2. Don't leave running instances of fb_inet_server after database shutdown.
3. To make all this possible - reworked Y-Valve in general.
2007-01-20 14:45:45 +00:00
asfernandes
be9e3a8a84
1) Correction for input parameters
...
2) Correct message for constraint violation in CAST
3) Display parameter/variable number when there is no debug info
2007-01-17 23:59:23 +00:00
asfernandes
aca179f398
Full domain support and NOT NULL in PSQL
2007-01-17 01:19:01 +00:00
dimitr
99c2df56b6
Changed cancellation implementation to work at the transaction level as being more efficient.
2007-01-07 15:15:06 +00:00
dimitr
4ed6c7d2b6
Misc.
2006-12-06 08:22:40 +00:00