asfernandes
b49391c8d0
Misc
2010-09-25 23:08:18 +00:00
robocop
98a2c6822d
Warnings.
2010-09-24 09:53:51 +00:00
robocop
c7abd52cea
Misc.
2010-09-24 09:23:12 +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
c1b5abfdf2
1) Refactor all types of boolean nodes.
...
2) Remove the scratch from the nodes.
2010-09-17 03:15:32 +00:00
asfernandes
b7b63becf3
Refactor a number of expression nodes: nod_add, nod_divide, nod_multiply, nod_negate, nod_user_name, nod_subtract, nod_current_date, nod_current_time, nod_current_timestamp, nod_add2, nod_subtract2, nod_multiply2, nod_divide2, nod_current_role, nod_internal_info
2010-09-04 21:36:41 +00:00
asfernandes
8f857a6deb
Refactor plan nodes to PlanNode
2010-08-29 20:20:19 +00:00
asfernandes
96f2829728
Refactor nod_map and nod_sort to type-safe MapNode and SortNode
2010-08-29 18:20:44 +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
18a6a6b4f9
More consts
2010-08-13 15:22:00 +00:00
robocop
5159171578
Misc.
2010-08-12 10:32:50 +00:00
asfernandes
8657f4b599
Better internal handling of dependencies
2010-08-11 02:59:33 +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
ab834d2ec1
Fixed CORE-3038 - The insert failed because a column definition includes validation
2010-06-12 16:28:11 +00:00
dimitr
2b18bab5da
Correction for my prior fix.
2010-05-17 09:38:21 +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
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
dimitr
ef80cf1ccd
Eliminated one more case to have an unrestoreable database.
2010-04-14 09:55:08 +00:00
dimitr
4eedf7d29e
Cleanup.
2010-04-14 08:30:29 +00:00
asfernandes
fe9bf02848
Refactor user and system functions nodes
2010-04-05 18:43:11 +00:00
asfernandes
bdf996e34f
Fixed CORE-2922 - Character set used in constants is not registered as dependency.
2010-03-14 16:39:06 +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
835750a54c
Misc.
2010-02-16 08:53:31 +00:00
asfernandes
d3c0e1971a
1) Feature CORE-2830 - Window functions: DENSE_RANK, RANK and ROW_NUMBER
...
2) Fix BLR filter for some procedure verbs
2010-02-14 19:08:22 +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
robocop
1d87d749f0
Misc.
2010-01-26 08:20:27 +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
6fa63f17f9
Fix the arithmetics thanks to Claudio
2010-01-21 15:01:24 +00:00
asfernandes
6ec26b4285
Use nod_sort to _copy_ correctly
2010-01-20 13:24:26 +00:00
dimitr
3c8753caf0
Misc.
2010-01-20 08:20:46 +00:00
asfernandes
1fd4eec67b
Fix the partition aggregation sorts, that was being constructed reading unallocated memory
2010-01-20 00:00:37 +00:00
dimitr
d35f6e316b
1) Simplify the explicit plan handling between the parser and the engine. It makes no sense to pass the join type as it's ignored internally.
...
2) Support hash joins in the plan output and in the parser. For the latter, it's just the syntax sugar, same as loop vs merge join (see above).
2010-01-19 09:25:29 +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
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
fc62cfe6e7
Misc.
2009-12-28 11:46:55 +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
dimitr
e07921cc2f
PSQL functions (support for default parameters).
2009-12-25 14:37:44 +00:00
robocop
06a4224d0b
Put class Attachment in its own files by brute force.
2009-12-25 09:55:05 +00:00
dimitr
debe65bcfb
Support for PSQL functions (other JRD changes). Still work in progress.
2009-12-21 17:43:01 +00:00
dimitr
e546a21f86
Restored the validation that was formerly related to FUN_resolve() which has been cleaned up.
2009-12-17 09:04:52 +00:00
dimitr
cc8794d02f
Cleanup.
2009-12-15 12:25:44 +00:00
dimitr
e66a1513c1
Fixed CORE-2806: Views based on procedures can't be created if the proc's output fields participate in an expression.
2009-12-14 12:31:03 +00:00
dimitr
b9f0242ffd
Let's transfer procedure aliases to the engine similarly to how it is done for relations. This allows more precise plan reporting.
...
I hate to waste the BLR space in such a vandal way, so I'm open to any better suggestions.
2009-12-14 11:19:26 +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
7b14c3c3e2
Simplified the code, thanks to Adriano.
2009-12-10 05:11:43 +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
robocop
298ec36a04
CORE-2712.
2009-12-03 04:33:46 +00:00
asfernandes
9ec1c36a55
Cleanup
2009-11-28 19:39:23 +00:00
robocop
fee53353ff
Comments.
2009-11-25 09:07:58 +00:00
robocop
c3298fd6be
Style.
2009-11-20 07:03:20 +00:00
dimitr
5ae7b7f340
Cleanup.
2009-10-31 11:08:11 +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
e90fc8d63f
Change the interface again. Please full rebuild (although the many recent changes to common.h almost qualify as full rebuild).
2009-08-05 12:30:32 +00:00
asfernandes
2cb136d9b8
Misc
2009-08-05 02:12:46 +00:00
robocop
c43741960f
Misc: follow Alex' style.
2009-08-04 08:58:13 +00:00
robocop
c5f03f2aa1
Misc.
2009-08-04 08:42:23 +00:00
asfernandes
4171c16988
Some things discussed with Dmitry and Claudio - rename the new function to fb_print_blr, use ULONG parameter for blr_length and return int
2009-08-03 15:52:48 +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
robocop
2e3ce0d23d
Misc.
2009-06-07 09:49:58 +00:00
hvlad
cb611bc4df
Missed code after introduce of ROLE clause in EXECUTE STATEMENT. Thanks to Alex.
2009-05-20 09:43:18 +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
1c20adb8fc
Misc
2009-04-29 01:52:49 +00:00
robocop
2d7cb94844
Unused params
...
Some BLR checks
2009-04-28 13:08:04 +00:00
robocop
888000e21e
Unused function params.
2009-04-26 10:24:44 +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
fab6a3a6cf
Get rid of superflous parentheses.
2009-02-28 11:57:40 +00:00
asfernandes
bf54a61664
Uninitialized variables
2009-02-21 22:50:48 +00:00
asfernandes
f532f6975e
Misc
2009-01-21 15:42:45 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
hvlad
00acd027aa
Make strings permanent in warning's status-vector
2009-01-18 22:32:27 +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
21bb7f3d20
Style.
2009-01-03 09:14:29 +00:00
robocop
6406e45337
Shut up compiler warnings (unreferenced vars, uninitialized vars, compile-time conditional code, etc.)
2009-01-02 06:36:12 +00:00
robocop
d11c994960
Style.
2008-12-31 05:06:08 +00:00
robocop
2fadc0e456
Style.
2008-12-22 09:00:05 +00:00
robocop
9161be9116
Style.
2008-12-18 11:29:10 +00:00
asfernandes
8fbf0e8e8c
Remove trailing spaces (.cpp files)
2008-12-05 01:20:14 +00:00
asfernandes
dcfdeca45c
Fixed CORE-2176 - Unexpected (wrong) results with COALESCE and GROUP BY
2008-11-08 17:59:06 +00:00
robocop
26727ea6c8
Misc.
2008-09-09 09:05:49 +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
0f387a9bee
Misc
2008-09-06 18:42:55 +00:00
alexpeshkoff
dcfc610eb3
asserts
2008-09-05 12:35:07 +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
96194d08ba
Misc
2008-08-31 01:10:41 +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
robocop
2cf1d98deb
Style.
2008-08-27 09:45:49 +00:00
asfernandes
b910161f82
Fixed CORE-501 - Optimization problem with COALESCE
2008-08-20 01:54:45 +00:00
asfernandes
758edeb821
Fixed CORE-2045 - References to non-existent system fields with blr_field are not resolved to NULL
2008-08-19 15:42:05 +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
hvlad
9060d47941
Warnings must be passed in status-vector as isc_arg_gds, 0, isc_arg_warning, ...
...
Note 1 : warning() overwrites status-vector
Note 2 : somewhere in DFW status-vector is cleaned up and warnings not passed to the client
2008-07-25 08:57:50 +00:00
alexpeshkoff
7c8427bc35
Separated CVT functions to common and jrd parts.
...
This made possible to avoid ugly CVT_move export.
Cleanup of errors handling in CVT functions.
2008-07-10 15:57:33 +00:00
alexpeshkoff
7098cffcb1
Use regular message code instead of arg_interpreted
2008-07-07 13:31:55 +00:00