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
dimitr
b43b43eca9
1) Changed MON$STATEMENTS a bit.
...
2) Implemented statement cancellation.
2006-12-04 21:36:29 +00:00
robocop
7a46dc7247
Misc.
2006-11-10 08:12:07 +00:00
asfernandes
570b6cd4b4
1) CORE-645 and CORE-745: Database triggers
...
2) CORE-711: Make syntax for "CREATE TRIGGER" compliant with SQL2003
2006-11-05 18:30:36 +00:00
dimitr
543fc5e0d1
Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment.
2006-10-31 15:59:23 +00:00
hvlad
58d381edd7
1. Remove blr_src_info code as it is prevents database downgrade from ODS 11.1
...
2. Put debug information (mapping between blr offset and source line\column and names of local variables) into new blob field RDB$DEBUG_INFO
This is first step to implement native SQL debugger i believe
2006-10-30 20:58:06 +00:00
dimitr
988782a96a
1) A new class to handle aggregated multi-level performance counters.
...
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
robocop
af8ecc26ca
Solve three problems with arrays:
...
- Don't allow to apply scalar/subscript syntax to fields that aren't array.
- Detect if we get corrupt database containing array with more than 16 dimensions.
- Reject attempt to subscript array with more than 16 dimensions and thus fix the buffer overrun.
2006-09-10 09:05:40 +00:00
asfernandes
5c26d54f02
1) Fixed CORE-899 - Problems with explicit cursors in unwanted states
...
2) Make RDB$DB_KEY in outer joins returns NULL when appropriate
2006-09-07 01:55:49 +00:00
asfernandes
55ec30965d
REPLACE statement
2006-09-03 01:09:23 +00:00
asfernandes
da697e6e78
Work on CORE-655 - Blob Type 1 compatibility with VarChar:
...
Compatibility of blobs with others data types and different blob sub_types in assignments and CAST.
2006-08-05 19:52:26 +00:00
robocop
c6f80cea96
Get rid of brain-dead historical signature and its companion casts.
2006-07-28 09:53:47 +00:00
dimitr
af6cdd9262
More protections.
2006-07-28 09:15:32 +00:00
dimitr
bbaea14abe
Misc.
2006-07-23 11:14:43 +00:00