8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 13:23:02 +01:00
Commit Graph

353 Commits

Author SHA1 Message Date
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