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

219 Commits

Author SHA1 Message Date
alexpeshkoff
f89ac854ef Getting ready to use 32 (not 31) page and transaction numbers 2011-01-21 17:55:04 +00:00
alexpeshkoff
d6fcde387b New plugin manager. Use it for all types of plugins. 2011-01-14 17:31:40 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +00:00
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +00:00
asfernandes
8af7ec0211 Refactored the support for blr_handler, blr_loop, blr_exec_sql, blr_exec_into, blr_exec_stmt,
blr_start_savepoint, blr_end_savepoint, blr_store, blr_store2, blr_erase, blr_modify,
blr_modify2, blr_exec_proc, blr_exec_proc2, blr_exec_pid, blr_dcl_cursor, blr_cursor_stmt,
blr_set_generator, blr_receive, blr_stall, blr_select, blr_block, blr_error_handler,
blr_label, blr_leave, blr_continue and the source info node.
2010-11-29 02:17:04 +00:00
asfernandes
594e390d42 Fixed segfault after EXECUTE STATEMENT with invalid SQL 2010-11-28 14:56:35 +00:00
asfernandes
a3064848d6 Make ExprNodes and RecordSourceNodes reference others directly instead of via jrd_nod.
Store ValueExprNodes instead of jrd_nod in the metadata cache.
Make RecordSourceNode child of ExprNode as they share most operations.
Get rid of the JRD visitors in favor of direct calls.
Convert assignments statement lists created inside expressions to separate source and targets ValuesExprNodes.
2010-11-21 03:47:29 +00:00
asfernandes
3eb252ec5f Refactored DSQL nodes: nod_derived_field, nod_map, nod_dbkey and nod_rec_version.
Refactored JRD nodes: blr_field (JRD side only), blr_dbkey, blr_record_version and blr_stmt_expr.
2010-11-14 17:25:48 +00:00
dimitr
bc3a797d4a If we swallow the exception, let's zap it inside the status vector as well. This fixes the assertion in the debug build. 2010-11-08 07:23:32 +00:00
alexpeshkoff
0ab6c4abf7 Avoid throwing C++ exceptions from authentication plugins 2010-10-28 08:02:42 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
asfernandes
91384eb587 Misc 2010-10-12 17:40:27 +00:00
alexpeshkoff
83d6a2f88c Restored a lot of changes, rolled back by me unintentionally 2010-10-12 11:36:51 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
robocop
98a2c6822d Warnings. 2010-09-24 09:53:51 +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
hvlad
087a7f7cda Fixed bug CORE-3100 : Wait mode and lock timeout of external transaction of EXECUTE STATEMENT not matched to corresponding parameters of local transaction 2010-08-07 21:18:23 +00:00
asfernandes
361727d549 Misc 2010-08-07 02:38:12 +00:00
hvlad
1ca9c0a020 Fixed bug CORE-3089 : Attempt of execute statement on external datasource failed when datasource is interbase 4.1 2010-08-06 15:16:13 +00:00
hvlad
f4718dfe80 Fixed unregistered bug in EXECUTE STATEMENT : make internal cache of prepared statements work properly. 2010-07-12 08:09:46 +00:00
robocop
9f687c39c4 Misc. 2010-04-29 05:13:03 +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
hvlad
fcbd9482f0 Fixed bug CORE-2907 : Exception handling with EXECUTE STATEMENT 2010-03-18 11:51:21 +00:00
hvlad
fd04d5f776 Fixed bug CORE-2920 : Incorrect execution of volatile SQL statements inside EXECUTE STATEMENT 2010-03-12 15:39:06 +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
alexpeshkoff
443f261abf Introduce isc_dpb_version2 - format is WideTagged. 2009-12-30 15:24:16 +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
asfernandes
8968888820 Getters and setters for DsqlCompiledStatement and consts 2009-12-22 15:36:10 +00:00
dimitr
debe65bcfb Support for PSQL functions (other JRD changes). Still work in progress. 2009-12-21 17:43:01 +00:00
asfernandes
50542e3f00 Make dsql_req::statement constant 2009-12-21 14:56:12 +00:00
asfernandes
74972f5913 Consts 2009-12-20 23:41:48 +00:00
asfernandes
488eb40fe0 Refactor DSQL, continuing the work I started in 2.5:
- Renamed CompiledStatement to DsqlCompilerScratch and removed inheritance to dsql_req.
- Introduced DsqlCompilerStatement, moving things from dsql_req - not completelly shareable yet.
- Make dsql_req reference a DsqlCompilerStatement. DsqlCompilerScratch may be discarded in the future.
- Replaced AlterCharSetNode usage by PreparedStatement for the default collation in database creation.
- Changed METD API.
2009-12-20 21:01:10 +00:00
asfernandes
3f5aded4e3 Misc 2009-11-28 01:44:42 +00:00
robocop
d8a012014b Comments. 2009-11-27 08:34:34 +00:00
robocop
405d008606 Comments. 2009-11-25 09:34:43 +00:00
asfernandes
f2cd6b7ec2 Misc 2009-11-12 01:38:48 +00:00
robocop
94f1a728d6 Misc. 2009-11-06 05:58:57 +00:00
asfernandes
87e274b76a Misc 2009-11-06 01:21:14 +00:00
hvlad
bc9ad95c82 Fixed bug CORE-2731 : Recursive EXECUTE STATEMENT works wrong 2009-11-05 22:42:46 +00:00
robocop
55d60892ca Warnings. 2009-11-05 08:29:33 +00:00
hvlad
e079a00e67 Sorry, it was nedeed 2009-11-04 15:01:34 +00:00
hvlad
c6c7e64ed2 Remove uneeded Jrd:: 2009-11-04 14:52:32 +00:00
hvlad
b18ffff50c Fixed bug CORE-2729 : Current connection may be used by EXECUTE STATEMENT instead of creation of new attachment 2009-11-04 14:49:15 +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
hvlad
9071ff2465 Use volatile for better thread-safety, noted by Adriano 2009-09-10 06:40:52 +00:00
asfernandes
3d4aec86e9 Misc 2009-09-10 01:31:49 +00:00
hvlad
738a3cd5d3 Fixed bug CORE-2600 : Server deadlocks while running a few remote EXECUTE STATEMENTs concurrently 2009-09-08 16:37:38 +00:00
robocop
98a5f2e6a4 Misc. 2009-09-03 11:17:46 +00:00
hvlad
41896eeba1 Fixed bug CORE-2252 : EXECUTE STATEMENT on EXTERNAL SOURCE does not check the status of the transaction 2009-09-02 10:46:43 +00:00
robocop
8ce0cf3e79 Style. 2009-08-16 05:25:30 +00:00
robocop
d19fd95de3 Style. 2009-08-05 06:35:01 +00:00
hvlad
88ba7de4f8 Use UCHAR instead of char for EDS::Blob, as Claudio suggest 2009-06-08 14:57:58 +00:00
asfernandes
8595742987 Misc 2009-05-20 00:45:45 +00:00
robocop
4d468895ea Misc & style. 2009-05-17 11:20:43 +00:00
asfernandes
c991e7d5cf Misc 2009-05-15 00:51:21 +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
robocop
66b1227b22 Unused params, some formatting, cleanup. 2009-05-01 17:21:36 +00:00
asfernandes
e707efaa1d Misc 2009-04-16 01:09:12 +00:00
hvlad
2821d805da More correct fix for bug CORE-2420 : Parsing error in EXECUTE STATEMENT with named parameters. 2009-04-13 07:48:56 +00:00
hvlad
3d79776aed Fixed bug CORE-2420 : Parsing error in EXECUTE STATEMENT with named parameters 2009-04-12 19:52:41 +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
robocop
4480c7c405 Misc. 2009-04-01 10:49:54 +00:00
asfernandes
ed2536461d Misc 2009-03-14 19:17:34 +00:00
hvlad
4e0807690f Better fix for CORE-2183 : Error in ExtDS when server shutdown started with opened Execute Statement.
Make EDS handle broken connection properly
2009-03-13 13:17:20 +00:00
hvlad
a86decefb1 Remove wrong assertion. Correct error message 2009-03-01 10:22:49 +00:00
asfernandes
ad26f7a1e5 Misc 2009-02-11 15:24:03 +00:00
asfernandes
7ba3e7d0e5 Misc 2009-02-11 01:32:09 +00:00
hvlad
d8e8a4cece Misc 2009-02-10 16:16:03 +00:00
hvlad
009f9d2fd9 Take into account req_null as Adriano suggests 2009-02-10 16:11:56 +00:00
asfernandes
7082a9af23 Fix SQL_NULL problems with EXEC. STMT. 2009-02-10 14:33:50 +00:00
asfernandes
1105286dee Misc 2009-02-07 15:20:34 +00:00
hvlad
57d349f3d1 Fixed few minor issues noted by Dmitry 2009-02-06 12:01:34 +00:00
asfernandes
590a2fdb1c Fixed a few signed vs unsigned warnings 2009-01-22 16:53:10 +00:00
robocop
ce678f21f9 Misc. 2009-01-17 10:58:24 +00:00
robocop
77bd687168 Style. 2009-01-14 08:22:32 +00:00
robocop
e9be920cc0 Shut up some compiler warnings (some warnings should be enabled again in autoconfig_msvc.h IMHO because hiding our possible mistakes won't help us). 2008-12-30 10:52:52 +00:00
robocop
2fadc0e456 Style. 2008-12-22 09:00:05 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +00:00
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +00:00
robocop
d39690fbff Style (and let lines grow up to 100 columns). 2008-12-04 09:29:16 +00:00
asfernandes
744e83f240 Misc 2008-12-03 01:05:53 +00:00
robocop
9f52942ab0 Style. 2008-12-02 07:09:49 +00:00
robocop
eb6ea18df4 Misc. 2008-12-01 09:21:31 +00:00
hvlad
205db77c70 Move EDS:Manager initialization from constructor into later time to ensure engine was initialized properly. Add some syncronization around connections list. 2008-11-28 11:46:37 +00:00
hvlad
36e1866a1d Few fixes to correctly close brocken external connection.
Ability to stop execution of external query when :
- engine is shutted down
- database is shutted down
- local statement is cancelled
- local connection is cancelled
2008-11-27 23:06:48 +00:00
hvlad
f1baf56cc4 Corrections. Thanks to Claudio 2008-11-18 09:29:56 +00:00
hvlad
62ca23fa58 Fixed bug CORE-2183 : Error in ExtDS when server shutdown started with opened Execute Statement 2008-11-17 12:30:28 +00:00
asfernandes
52b1014ba6 Remove warnings by gcc 4.3.2 2008-11-05 01:08:20 +00:00
hvlad
14a9ecf023 Fixed bug CORE-2138 : If stored procedure with execute statement with external database fails at runtime, external database remains attached.
Removed some paranoid code ;)
2008-10-23 09:13:39 +00:00
alexpeshkoff
121af76de7 Made XSQLDA parameter const in isc_dsql_fetch and a family of isc_dsql_exec functions as suggested by Dmitry Kovalenko.
Minor related cleanup in utld.
2008-09-10 12:31:54 +00:00
asfernandes
cc5b689eda Misc 2008-08-29 02:18:50 +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
dimitr
7c1fbc7484 Fixed CORE-2038: New EXECUTE STATEMENT implementation asserts or throws an error if used both before and after commin/rollback retaining. 2008-08-12 06:18:06 +00:00
robocop
7182bbaa8b Style. 2008-07-16 11:15:00 +00:00
alexpeshkoff
5ac5869661 CORE-1964 - stop vararg mess when reporting errors. Use special class for it. More (ERR_post cleanup) to come. 2008-07-03 12:02:54 +00:00
hvlad
b4defd26f7 Correction 2008-06-22 07:43:12 +00:00
hvlad
acb28f7a71 More error messages for EXECUTE STATEMENT 2008-06-22 07:34:36 +00:00
hvlad
0d95bb900b Error messages for EXECUTE STATEMENT 2008-06-19 10:45:18 +00:00
robocop
017d04dbfc Misc. 2008-06-10 10:11:39 +00:00
asfernandes
26a79e3c6e Misc 2008-06-09 01:34:33 +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
hvlad
30e75e2eac Fixed unregistered bug in EXEC STMT2 : varchar's descriptor lengths did not accounted SHORT field for string length. It was lost during refactoring, i.e. initial code has no this bug. 2008-05-11 09:46:34 +00:00
robocop
e44a99f339 Style and minor cleanup. 2008-05-10 03:44:57 +00:00
asfernandes
06ffed6cb8 Fix Linux build 2008-04-13 14:43:04 +00:00
asfernandes
aab534e66c 1) Misc 2) Remove temp. comment found by Claudio 2008-04-13 14:38:39 +00:00
hvlad
54d748c82d Corrections, noted by Claudio and Adriano : use Array::find, better handling of broken comments inside statement text, make getRemoteError cons, avoid problems with sqlTypeToDscType non threadsafe initialization. 2008-04-13 10:03:56 +00:00
robocop
28979f1d73 Fix EXECUTE STATEMENT regarding the constness of the interface. 2008-04-13 08:11:16 +00:00
asfernandes
c1cedd08e5 Fix warnings 2008-04-12 22:27:03 +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
fe41009642 Corrections, const style, etc.
To be reviewed by Vlad.
2008-04-12 12:19:15 +00:00
asfernandes
9d35c4a274 Misc 2008-04-11 11:37:18 +00:00
asfernandes
6e59d736df 1) Fix Linux build
2) Misc
2008-04-11 01:38:50 +00:00
asfernandes
66bc7f0b57 Misc 2008-04-10 19:41:30 +00:00
asfernandes
4164be17ef Misc 2008-04-10 18:54:38 +00:00
hvlad
205d058d24 Unused vars. 2008-04-10 15:02:00 +00:00
hvlad
fe3f8c184b New EXECUTE STATEMENT with support of external data source implementation 2008-04-09 20:18:47 +00:00