asfernandes
d515370b9d
Thread safety: do not write in request shared place during execution.
2010-04-07 15:31:32 +00:00
asfernandes
fe9bf02848
Refactor user and system functions nodes
2010-04-05 18:43:11 +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
437ea7a1f6
Cleanup.
2010-03-19 20:10:19 +00:00
dimitr
63bedffa71
Refactored the sorter into a proper class.
...
Removed some dead code and unused files.
2010-03-16 11:19:29 +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
robocop
7740b3953a
Misc.
2010-02-14 10:50:01 +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
3b5a0fdae5
The way AccessItem instances were ordered was a hack that sooner or later would fail when adding more object types (that now have ACLs but we still don't enfornce them). Further, comparing numbers is faster than comparing strings.
2010-02-13 08:31:16 +00:00
robocop
0da76615ab
Fix misinterpretation of MET_get_dependencies's parameters done years ago with Alex' conversion to MetaName class.
2010-01-26 08:29:03 +00:00
asfernandes
b68658534f
Feature CORE-2823 - Support the ORDER BY subclause for current aggregate functions (except LIST)
2010-01-23 03:02:53 +00:00
asfernandes
7fbee2c76b
Feature OVER (PARTITION BY ...) clause for window functions
2010-01-18 21:37:47 +00:00
asfernandes
9c1bab1793
Feature CORE-1385 Identity columns - in its basic form
2010-01-13 19:14:15 +00:00
dimitr
7d7aef4228
Cleanup and refactoring in the optimizer (mostly related to rivers and sort/merge).
2010-01-13 11:46:16 +00:00
dimitr
debe65bcfb
Support for PSQL functions (other JRD changes). Still work in progress.
2009-12-21 17:43:01 +00:00
dimitr
d09fba5ebd
Fixed (hopefully) CORE-2798: Incomplete plan output (lack of view names) when selecting from views containing procedures inside.
2009-12-10 14:47:52 +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
218f419b5c
Fixed related issues:
...
CORE-1518 - Adding a non-null restricted column to a populated table renders the table inconsistent
CORE-2696 - "alter table" command can add a field which has "not null" definition
CORE-1748 - Unrestorable backup
CORE-1355 - Zero display instead of NULL
2009-11-18 14:24:47 +00:00
asfernandes
d59001341c
Misc
2009-10-31 17:31:48 +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
b31aaf0129
Some statements nodes refactor - creation of IfNode, ExitNode, SuspendNode, PostEventNode and SavePointNode.
2009-10-24 17:45:33 +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
d9a35f4a47
Misc: cardinality is double.
2009-10-16 07:05:51 +00:00
asfernandes
870e35d120
Argh. Fix for the second time problem with line endings
2009-10-15 16:13:40 +00:00
asfernandes
da2f4c2b6d
Added some debug code to cmp
2009-10-15 16:06:22 +00:00
dimitr
d60030074d
Just a consistency with other variables.
2009-10-05 16:06:44 +00:00
asfernandes
398975b940
Misc
2009-08-20 01:32:24 +00:00
robocop
1816523040
Comments.
2009-08-16 06:23:19 +00:00
asfernandes
4759973045
Fixed CORE-2576 - Server may crash parsing wrong or truncated BLR
...
Full rebuild required - CMP_compile2 prototype changed
2009-08-02 04:10:07 +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
asfernandes
9e0c4f06f2
Misc
2009-04-04 16:28:33 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
robocop
95292d1731
Style.
2008-12-20 08:12:19 +00:00
asfernandes
ff5f8745fb
Remove trailing spaces (.h files)
2008-12-05 00:56:15 +00:00
asfernandes
cf7ae27db5
Fixed CORE-1432 - Collation not propagated between record formats
2008-11-30 18:55:52 +00:00
asfernandes
3ed6c880b9
Misc
2008-09-10 15:46:58 +00:00
asfernandes
b550749a47
Fixed CORE-1246 - Incorrect column values with outer joins and derived tables
2008-09-07 19:44:48 +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
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
84da641b55
Fixed CORE-2034 - Problems related to CORE-1254 (Problem with DISTINCT and insensitive collations) re. UNICODE insensitive collations with DISTINCT or GROUP BY.
2008-08-08 01:44:42 +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
asfernandes
4343cbfeba
Do the same kind of cleanup in jrd/pass1 as done for "proc_flag" in dsql/pass1 - recursive passing the same parameters that is changed in specific situations makes difficult to understand the logic.
2008-05-18 01:02:35 +00:00
robocop
e44a99f339
Style and minor cleanup.
2008-05-10 03:44:57 +00:00
hvlad
5f8774827c
Better and simpler fix for bug CORE-1884.
2008-05-06 12:15:09 +00:00
hvlad
c3e8b5c75b
Fixed bug CORE-1884 : Random AVs using stored procedures with expressions as default values of input parameters
2008-05-06 07:06:06 +00:00
asfernandes
53a2090f65
Misc
2008-04-27 02:39:51 +00:00
robocop
b70fc21329
Collapse some lines of repetitive code.
2008-04-24 10:56:57 +00:00
hvlad
fe3f8c184b
New EXECUTE STATEMENT with support of external data source implementation
2008-04-09 20:18:47 +00:00
dimitr
f5659c0b70
1) Major cleanup of the old-style blk and allocator-based blk_type.
...
2) Added synchronization for the JRD locks.
2008-03-19 16:19:56 +00:00
robocop
b4091ac9a6
Make them explicit.
2008-03-10 08:16:57 +00:00
robocop
e39885c7fb
Misc.
2008-03-02 08:45:41 +00:00
dimitr
99caa91b85
DSQL integration into the engine.
2008-02-28 13:48:16 +00:00
asfernandes
46c115411a
Fixed CORE-1254 - Problem with DISTINCT and insensitive collations
2008-02-09 15:19:21 +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
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
914ddbb957
Fixed CORE-1549.
2007-10-29 17:56:28 +00:00
robocop
fa1538a1ae
Minor changes in MetaName usage.
2007-08-26 09:05:29 +00:00
hvlad
671e59e993
Fixed bug CORE-1373 : Incorrect result of recursive CTE query when recursive member's SELECT list contains expression using self-referenced fields
2007-07-21 21:28:56 +00:00
asfernandes
0f4663dc1a
Fixed CORE-1318 - Error "Identifier ... is too long using multiple (nested) derived tables.
...
Front-ported fix done by Alex in 2.0.
2007-06-13 01:53:00 +00:00
asfernandes
c97d57013e
Fixed CORE-1253 - LIST(DISTINCT) concatenate VARCHAR values as CHAR
2007-05-11 02:07:36 +00:00
asfernandes
cfe0ad95cf
Fixed CORE-1227 - LIST() function seems not work if used twice or more in a query
2007-05-05 19:28:46 +00:00
asfernandes
f7b7f2b96f
Some changes as per Claudio comments
2007-04-16 15:31:28 +00:00
asfernandes
166fc0b865
Misc
2007-04-13 01:37:44 +00:00
asfernandes
8c7076b67f
Port of Yaffil builtin functions
2007-04-12 15:56:34 +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
robocop
8a06c80028
Simplification and indentation.
2007-01-21 07:46:41 +00:00
asfernandes
f30ee6b63e
Use debug informations in EXECUTE BLOCK
2007-01-20 14:18:18 +00:00
alexpeshkoff
e79660bca6
fixed gcc warning
2007-01-20 14:07:18 +00:00
asfernandes
aca179f398
Full domain support and NOT NULL in PSQL
2007-01-17 01:19:01 +00:00
dimitr
8ea7c4f915
A bit different fix for CORE-1004 in HEAD. Experimental.
2006-12-12 16:12:15 +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
asfernandes
1d422a8330
1) Refactor intl_classes.h and intl.cpp
...
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
asfernandes
55ec30965d
REPLACE statement
2006-09-03 01:09:23 +00:00
asfernandes
e538061c38
Implementation of CREATE/DROP COLLATION and ISQL show/extraction of collations
2006-08-07 16:39:21 +00:00
hvlad
b20aa92714
Common table expressions implementation
2006-08-01 20:37:58 +00:00
hvlad
8e14bc4f1e
Move relation stuff from jrd.h\vio.cpp into new Relation.h\Relation.cpp
...
by request of Claudio and Dmitry
2006-05-30 13:29:24 +00:00
asfernandes
3b54c24652
Let LOWER/UPPER (blob) work - returning a blob
2006-04-16 18:45:40 +00:00
dimitr
d2f823b821
Fixed yet another bug in cursors. Will this ever end? :-)
2006-03-29 17:47:50 +00:00
dimitr
6c1e162151
Fixed a minor regression in the permission checking logic.
...
Let's first check the relation privileges and only then the column ones.
2006-03-28 09:36:22 +00:00
alexpeshkoff
95911b4842
fixed memory leak - SF#1422471
2006-03-10 17:46:18 +00:00
dimitr
8da75613c4
Fixed yet another bug in explicit cursors.
...
Unfortunately, BLR compatibility is not provided, so users have to recompile their SPs/triggers.
2006-03-07 17:52:33 +00:00
robocop
1f84bac700
Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc.
2006-02-23 05:08:26 +00:00
robocop
3389149564
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Tenth step: some code was tagged PC_ENGINE but was for SCROLLABLE_CURSORS instead, hence restore it. Also, clean unused data members, obsolete BLR verbs and the like.
2006-02-07 08:08:49 +00:00
robocop
eb9bec4b32
More scrollable cursors related code.
2006-02-03 08:37:14 +00:00
robocop
29a6749c22
Misc.
2006-02-02 07:40:42 +00:00
robocop
f00fc0ff56
1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
...
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
dimitr
868a5bb21f
Better (and more honest) diagnostics.
2005-10-21 09:43:26 +00:00
dimitr
e5a151aff8
1) Fixed csb_validation which was defined in a wrong flags group.
...
2) Renumbering and cleanup.
2005-09-08 10:08:18 +00:00
dimitr
15874a6ed9
Added optional seconds precision to CURRENT_TIME and CURRENT_TIMESTAMP
...
as agreed with Ann and others times ago.
2005-08-24 09:16:19 +00:00
asfernandes
559ce29c51
1) Replace length_ to strlen as noted by Claudio and Dmitry
...
2) Change USHORT to ULONG in intl.cpp
2005-06-06 18:14:10 +00:00
asfernandes
59213efe7e
Merge INTL branch into HEAD
2005-05-27 22:45:31 +00:00
alexpeshkoff
5729790ed6
1. Applied class MetaName
...
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
dimitr
4ec439dd14
1) Deliver trigger type to the compiler level
...
2) Disallow NEW context assignments for POST-triggers
2005-03-28 21:52:55 +00:00
dimitr
4cf01bd4a2
Cleanup.
2005-02-01 20:05:02 +00:00
robocop
73c5351bb7
1.- Misc.
...
2.- Use constants instead of harcoded positions in node's arguments.
2005-01-21 08:36:06 +00:00
robocop
4012106884
Misc.
2004-12-25 09:44:03 +00:00