8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 22:43:04 +01:00
Commit Graph

308 Commits

Author SHA1 Message Date
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
dimitr
438dec11d6 1) Keep rel_name for dropped relations in order to report errors properly.
2) Throw an error when the relation cannot be locked because of being already dropped.
3) Don't release the existence lock before RDB$RELATIONS is cleaned up.
This is the first part of the changes intended to fix CORE-1938.
2008-06-26 10:48:28 +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
robocop
236600c258 Fixed the indentation. 2008-06-12 08:06:42 +00:00
hvlad
66fd7d5488 Make blr_exec_stmt extensible in the future.
Sorry, recompile of stored objects using new EXECUTE STATEMENT is necessary. Hope the last time ;)
2008-06-10 22:43:30 +00:00
hvlad
394eca2dd9 Fixed bug CORE-1930 : Possible AV in engine if procedure was altered to have no outputs and dependent procedures was not recompiled 2008-06-10 10:32:29 +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
900c4ff7d3 Misc 2008-05-20 00:58:14 +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
hvlad
5f8774827c Better and simpler fix for bug CORE-1884. 2008-05-06 12:15:09 +00:00
dimitr
0a9e8c8382 Implemented CORE-1751. The changes include:
1) Make memory counters aggregated.
2) Add attachment pool and allocate appropriate resources out of this pool.
3) Always release attachments explicitly (via destructor).
4) Always delete user requests prior to attachment deletion.
5) Introduce memory usage counters per every monitoring object.
6) Misc refactoring.
Some pieces are still incomplete (although everything basically works), but I'd like to get feedback and testing sooner rather than later.
2008-05-06 08:46:39 +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
hvlad
2c370b3dc8 Use new EXEC STMT implemetation for all three BLR verb's. 2008-04-17 11:06:48 +00:00
robocop
08fce4aefd Misc. 2008-04-12 11:57:46 +00:00
asfernandes
6e59d736df 1) Fix Linux build
2) Misc
2008-04-11 01:38:50 +00:00
hvlad
fe3f8c184b New EXECUTE STATEMENT with support of external data source implementation 2008-04-09 20:18:47 +00:00
asfernandes
312a391d78 Misc 2008-02-26 02:23:28 +00:00
dimitr
c1f75dcdf8 Ported SQLSTATE from Vulcan.
Part II: handling of isc_arg_sql_state.
2008-02-24 15:02:04 +00:00
robocop
f8007f4071 Misc. 2008-02-24 03:23:40 +00:00
robocop
e9e1ead67a Mostly style, constness, native memcpy and explicit constructors. 2008-02-02 17:04:06 +00:00
dimitr
a38b327886 Cleanup. Get rid of the JrdMemoryPool. 2008-01-29 10:11:52 +00:00
dimitr
43594ed53a Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:17:19 +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
6992f2a638 The merge continued. 2008-01-16 09:41:31 +00:00
asfernandes
41faeba3cc Misc 2007-12-05 00:03:15 +00:00
robocop
1147c140fe Fixed the message
column @1 is not defined in table @1
and added a new one for unknown field in procedure (with Dmitry's permission).
2007-12-04 10:05:17 +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
asfernandes
3e4bb82182 Rework on the non-existent fields handling after Alex change in met.epp 2007-11-03 17:18:50 +00:00
alexpeshkoff
edc03201ca Fixed CORE-1537: NBackup creates difference file in bad place 2007-10-26 13:21:16 +00:00
asfernandes
1706ea36d3 Backport patch to make references (at BLR level) to non-existent system fields return NULL - to simplify ODS differences handling 2007-10-14 01:32:24 +00:00
asfernandes
944108171e Use const in SysFunction as suggested by Dmitry Kovalenko 2007-10-12 20:25:04 +00:00
dimitr
fbc66a7bd9 Added assert per Adriano's request. 2007-09-28 04:03:04 +00:00
dimitr
162cf20817 Fixed a restore bug reported by Alex. 2007-09-27 11:32:56 +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
alexpeshkoff
c4ef60de50 Slightly better way to do the same thing 2007-06-14 12:28:27 +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
f7b7f2b96f Some changes as per Claudio comments 2007-04-16 15:31:28 +00:00
dimitr
6ced0295a5 Misc. 2007-04-13 13:21:23 +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
alexpeshkoff
f0d465bf34 Fixed gcc warnings, general (un)signed usage cleanup 2007-04-11 09:28:50 +00:00
alexpeshkoff
6e735f7c53 Misc + gcc warning hunting 2007-04-09 16:15:29 +00:00
asfernandes
34b914fb05 Misc 2007-03-13 02:33:10 +00:00
robocop
fefac22672 Simplification. 2007-03-12 11:48:08 +00:00