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

391 Commits

Author SHA1 Message Date
dimitr
ca94ba9d07 Restored the legacy logic that was zapping the output NULL descriptors to mimic some pseudo-empty values.
Just for symmetry, unconditionally applied the same logic to inputs (it was there for blobs only).
Finally, do the same in the original place, EXE_assignment(). A more complex original code that tried to care about character sets is removed.
2009-03-03 14:57:53 +00:00
dimitr
5792f04f98 Front ported CORE-2326: AV when committing a new view while trigger on rdb$relations is in place.
Actually, this fix is not required for v2.5 due to the DFW logic changes there, but it doesn't hurt either.
2009-02-23 14:07:28 +00:00
dimitr
22bd1345c5 Let's count user DSQL statements only. 2009-02-05 20:41:47 +00:00
hvlad
3e8de2ec7c Performance : move costly method out of the loop 2009-02-05 15:03:22 +00:00
asfernandes
612c108e3e Misc 2009-02-02 03:35:52 +00:00
hvlad
115602ff06 Trace services support 2009-02-01 22:10:12 +00:00
robocop
3689f15321 Style. 2009-01-20 08:33:59 +00:00
asfernandes
989d851fa3 Misc 2009-01-15 03:46:48 +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
5ccf313d65 Collapse two cases being exactly the same. 2008-12-21 10:57:23 +00:00
robocop
95292d1731 Style. 2008-12-20 08:12:19 +00:00
robocop
0a94d6fee8 Style. 2008-12-18 10:57:12 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +00:00
asfernandes
3dcddd6ed5 Misc 2008-11-30 02:23:01 +00:00
dimitr
c4c496b79c Fixed CORE-2017: I/O statistics for stored procedures is not accounted in monitoring tables.
This patch adds lazy statistics increments to the whole request call stack.
2008-11-06 16:04:20 +00:00
alexpeshkoff
d8ea120ded AIX port - use FB_ prefix for alignment constants 2008-11-05 11:26:23 +00:00
asfernandes
0793554269 Fixed CORE-2117 - Incorrect ROW_COUNT value with indexed retrieval and subquery 2008-10-11 15:46:43 +00:00
dimitr
a2eee6c085 Fixed CORE-2101: Bugcheck 249 when attempting to fetch outside the end-of-stream mark for the open PSQL cursor. 2008-10-08 11:59:56 +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
1899067660 Misc 2008-08-30 03:14:08 +00:00
asfernandes
7f55ecabda Fix Windows build 2008-08-28 15:54:21 +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
ddb042bbff Fixed CORE-2031 - Null in the first record in a condition on rdb$db_key 2008-08-05 15:16:58 +00:00
asfernandes
ce4bf91533 Misc 2008-07-01 01:12:02 +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
dimitr
e3375a845b Misc. 2008-05-05 04:39:09 +00:00
robocop
83d3ddd6cb Replace custom code by helper class ThreadStatusGuard. 2008-04-26 10:29:52 +00:00
hvlad
969a81f138 Lets cleanup status vector correctly. 2008-04-23 09:31:40 +00:00
hvlad
2c370b3dc8 Use new EXEC STMT implemetation for all three BLR verb's. 2008-04-17 11:06:48 +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
a808a2bda2 const and style. 2008-04-12 11:56:32 +00:00
asfernandes
6e59d736df 1) Fix Linux build
2) Misc
2008-04-11 01:38:50 +00:00
hvlad
703bbdf4c1 Added missed check on req_null. Thanks to Adriano. 2008-04-10 06:48:22 +00:00
asfernandes
0e8febd6e3 Misc 2008-04-10 02:35:30 +00:00
hvlad
fe3f8c184b New EXECUTE STATEMENT with support of external data source implementation 2008-04-09 20:18:47 +00:00
asfernandes
21da64cca7 Link blobs of autonomous transaction with the outer transaction - to fix invalid BLOB ID errors. 2008-04-05 19:28:52 +00:00
robocop
cc72b37c9a Introduce more specific errors for date-time operations. 2008-03-28 13:21:59 +00:00
dimitr
b87b5032ef Changes in the TimeStamp class by Dmitry Kovalenko. 2008-03-26 10:21:04 +00:00
asfernandes
5496df8839 Misc 2008-03-26 02:13:34 +00:00
asfernandes
c25b340543 Fixed CORE-1797 - OLD/NEW.RDB$DB_KEY returns incorrect result in triggers 2008-03-25 19:41:13 +00:00
asfernandes
21a13650eb More problematic cases of CORE-1798 - thanks to Dmitry 2008-03-21 19:05:24 +00:00
asfernandes
827afb7aa4 Fixed CORE-1798 - RDB$DB_KEY evaluates to NULL in INSERT ... RETURNING 2008-03-21 17:05:21 +00:00
asfernandes
262dbadc4f Misc 2008-03-15 17:55:27 +00:00
asfernandes
c7ec88bee4 1) Created classes PreparedStatement and ResultSet
2) Changed EXECUTE STATEMENT to use these classes
3) Fixed CORE-1784 - Error with EXECUTE PROCEDURE inside EXECUTE STATEMENT
2008-03-13 16:37:20 +00:00
dimitr
ebad313cfd 1) Fixed CORE-1788.
2) Protected from other similar deadlocks.
3) Refactoring.
2008-03-13 14:20:32 +00:00
robocop
2b33eae4d1 Minimize casts. 2008-03-10 08:31:35 +00:00
robocop
3e9476e464 Misc. 2008-03-04 06:02:32 +00:00
dimitr
99caa91b85 DSQL integration into the engine. 2008-02-28 13:48:16 +00:00
robocop
e9e1ead67a Mostly style, constness, native memcpy and explicit constructors. 2008-02-02 17:04:06 +00:00
asfernandes
ed51d0728b DSQL sync. changes 2008-02-01 20:18:11 +00:00
dimitr
a38b327886 Cleanup. Get rid of the JrdMemoryPool. 2008-01-29 10:11:52 +00:00
dimitr
8f742ba52c Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 12:57:52 +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
48e81dd58a The merge is being fixed. 2008-01-16 12:22:11 +00:00
dimitr
1fa56f4cd7 The merge is being fixed. 2008-01-16 12:10:43 +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
asfernandes
41faeba3cc Misc 2007-12-05 00:03:15 +00:00
alexpeshkoff
2bc1225320 Fixed possible tdbb state restore problem, noticed by Claudio 2007-12-04 13:44:56 +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
dimitr
7903960607 Reset the statistics for every sub-request (aka call) execution. 2007-09-25 12:09:54 +00:00
asfernandes
810e9fef6c Misc 2007-06-27 02:08:25 +00:00
asfernandes
81f1f817e2 Fixed CORE-1331 - Charset transliterations don't work with EXECUTE STATEMENT 2007-06-23 18:48:27 +00:00
alexpeshkoff
ea8ba3370d Cleaned up mutexes - removed MUTX_T and related macros 2007-06-06 12:37:24 +00:00
asfernandes
d34c0cacc5 Misc 2007-05-24 00:39:38 +00:00
asfernandes
2e663f91b5 Improvement CORE-1280 - Verify well-formedness of text blobs 2007-05-23 02:26:27 +00:00
alexpeshkoff
f0d465bf34 Fixed gcc warnings, general (un)signed usage cleanup 2007-04-11 09:28:50 +00:00
asfernandes
266af4e84a Fixed crashes while restoring - reported privately by Alex 2007-03-28 02:16:52 +00:00
asfernandes
032a4b170c Don't leak memory after conversion to blob for store the value in a variable or parameter 2007-03-24 03:00:22 +00:00
asfernandes
23dba8075c Fix problem where a temporary blob could not be returned to the client throwing "invalid BLOB ID" 2007-03-22 01:42:33 +00:00
hvlad
b3dcfede36 Close external table's file when relation is not used by the engine.
This is simplest fix for bug CORE-132 (Restore fails on external table) and CORE-961(Free external tables)
2007-03-19 21:34:52 +00:00
dimitr
57c02cc754 Front-ported fix for CORE-1140. 2007-03-09 08:16:37 +00:00
asfernandes
2fa7a76177 Misc 2007-03-06 02:29:48 +00:00
robocop
230614bb17 Totally misc. 2007-03-05 06:30:23 +00:00
asfernandes
083c81bfd4 Fixed a problem reported by Dmitry where UPDATE and DELETE was not working with views with triggers. 2007-03-04 20:33:28 +00:00
asfernandes
2100a06c84 Make MOV_move know how to move blobs.
This fixes CORE-1147: Blobs are not converted to string in UDF parameters.
2007-03-02 00:46:03 +00:00
asfernandes
2d26b3f5f8 Allow BLOBs in EXECUTE STATEMENT and possibly in others unkown cases 2007-02-27 02:36:20 +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
alexpeshkoff
d66281291f 1. Make classic server close shutdown normally when killed by signals 2 & 15.
2. Don't leave running instances of fb_inet_server after database shutdown.
3. To make all this possible - reworked Y-Valve in general.
2007-01-20 14:45:45 +00:00
asfernandes
be9e3a8a84 1) Correction for input parameters
2) Correct message for constraint violation in CAST
3) Display parameter/variable number when there is no debug info
2007-01-17 23:59:23 +00:00
asfernandes
aca179f398 Full domain support and NOT NULL in PSQL 2007-01-17 01:19:01 +00:00
dimitr
99c2df56b6 Changed cancellation implementation to work at the transaction level as being more efficient. 2007-01-07 15:15:06 +00:00
dimitr
4ed6c7d2b6 Misc. 2006-12-06 08:22:40 +00:00
dimitr
b43b43eca9 1) Changed MON$STATEMENTS a bit.
2) Implemented statement cancellation.
2006-12-04 21:36:29 +00:00
robocop
7a46dc7247 Misc. 2006-11-10 08:12:07 +00:00
asfernandes
570b6cd4b4 1) CORE-645 and CORE-745: Database triggers
2) CORE-711: Make syntax for "CREATE TRIGGER" compliant with SQL2003
2006-11-05 18:30:36 +00:00
dimitr
543fc5e0d1 Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment. 2006-10-31 15:59:23 +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
dimitr
988782a96a 1) A new class to handle aggregated multi-level performance counters.
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
robocop
af8ecc26ca Solve three problems with arrays:
- Don't allow to apply scalar/subscript syntax to fields that aren't array.
- Detect if we get corrupt database containing array with more than 16 dimensions.
- Reject attempt to subscript array with more than 16 dimensions and thus fix the buffer overrun.
2006-09-10 09:05:40 +00:00
asfernandes
5c26d54f02 1) Fixed CORE-899 - Problems with explicit cursors in unwanted states
2) Make RDB$DB_KEY in outer joins returns NULL when appropriate
2006-09-07 01:55:49 +00:00
asfernandes
55ec30965d REPLACE statement 2006-09-03 01:09:23 +00:00
asfernandes
da697e6e78 Work on CORE-655 - Blob Type 1 compatibility with VarChar:
Compatibility of blobs with others data types and different blob sub_types in assignments and CAST.
2006-08-05 19:52:26 +00:00
robocop
c6f80cea96 Get rid of brain-dead historical signature and its companion casts. 2006-07-28 09:53:47 +00:00
dimitr
af6cdd9262 More protections. 2006-07-28 09:15:32 +00:00
dimitr
bbaea14abe Misc. 2006-07-23 11:14:43 +00:00
dimitr
4d6df6d2e6 1) Replace API encode/decode routines with TimeStamp methods
2) Encapsulate range checks inside TimeStamp class
3) Fixed CORE-347
2006-07-21 08:15:48 +00:00
dimitr
c68587fe66 1. Virtual tables
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
robocop
33f6a9e025 Misc. 2006-07-06 02:54:59 +00:00
hvlad
67da561090 Added missing checks for stack trace overflow. Thanks to Claudio 2006-07-05 08:18:48 +00:00
hvlad
fac53c8177 Added blr_src_info. Error call stack now contains not only
procedures\triggers names but line\column numbers also.
Thanks to Eugeney Putilin for idea
2006-07-04 14:44:43 +00:00
robocop
d2d3230637 Misc. 2006-07-01 08:50:21 +00:00
asfernandes
2dc17eeb5e Misc 2006-07-01 02:21:22 +00:00
asfernandes
e19b1aa162 Let positioned update/delete unwind correct instead of leave the request in inconsistent state 2006-06-30 14:57:56 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
robocop
c1b598ac63 Delete obsolete comments. Crack was a feature of PC_ENGINE. 2006-05-18 06:24:39 +00:00
dimitr
ab24dde1cd Fixed the CHECK bug reported by Ivan Prenosil. 2006-05-02 13:53:20 +00:00
dimitr
369f43fc62 Misc. 2006-04-30 19:21:23 +00:00
robocop
c5f2284b15 Style. 2006-04-06 08:18:53 +00:00
alexpeshkoff
95911b4842 fixed memory leak - SF#1422471 2006-03-10 17:46:18 +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
044c5841ad Misc. 2006-02-10 03:28:43 +00:00
robocop
2b99e764e3 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>)
2006-02-02 07:32:07 +00:00
robocop
c2fe7385ab The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Second step: remove them from #include clauses in other files. More to come.
2006-02-01 08:55:43 +00:00
dimitr
dee763fff0 Fixed the issue with ROW_COUNT being cleared after SUSPEND. 2006-01-25 12:11:37 +00:00
dimitr
1293d9fd97 Fixed bug related to expression indices vs. collates, reported by Ivan. 2006-01-15 16:04:39 +00:00
dimitr
2204fe9624 Fixed the garbage trigger name (reported by Alex). 2006-01-03 11:28:24 +00:00
dimitr
4766821a40 Simplify PSQL cursor handling a bit. 2005-12-21 21:59:03 +00:00
dimitr
454faf8653 Misc. 2005-12-06 12:30:09 +00:00
dimitr
b2c40bbff8 Fixed crash caused by my recent commit. 2005-12-05 13:25:03 +00:00
dimitr
9fde3787da 1. Cleanup.
2. Made array->blob assignments possible.
2005-12-05 12:40:22 +00:00
dimitr
bdf880bbbf Let's explicitly initialize unavailable trigger contexts with NULLs instead of relying on EVL_field.
This solves wrong error reporting in universal triggers vs req_warning.
2005-12-05 11:06:46 +00:00
alexpeshkoff
f4feffe700 fixed some warnings 2005-12-02 16:48:47 +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
robocop
2f600f8bc3 Solved SF Bug# 1184099.
To be reviewed by Adriano.
2005-11-08 05:59:06 +00:00
dimitr
12946de11d Restored the XCPCODE reporting to be compatible with 1.5.
A temporary solution.
2005-10-22 11:09:36 +00:00
dimitr
3ff0352c22 Fixed one of the PSQL exception handling bugs. More to follow. 2005-08-18 13:56:24 +00:00
dimitr
298614484b Some string handling changes + fixed Alpha 3 bug + misc. 2005-08-14 12:41:16 +00:00
robocop
95cf97005b Solve Dmitry's compatibility concerns about my solution for SF Bug #494981. Remember to rebuild the messages db from the scripts in src/msgs. 2005-08-14 06:56:24 +00:00
dimitr
363c2be052 Avoid recovery to a not existent savepoint. 2005-07-25 05:13:01 +00:00
dimitr
e3578f5912 Fixed reported issues with ROW_COUNT. 2005-06-24 12:56:34 +00:00
asfernandes
890494ac7c 1) Fixed SF #1016040 Missing external libraries causes engine exception
2) Use better error messages
2005-06-14 03:16:54 +00:00
dimitr
894fa1e011 Removed unused thread scheduling option. 2005-06-12 06:27:12 +00:00
dimitr
88b989a794 Cleanup. 2005-06-07 10:52:38 +00:00
asfernandes
2e49ce4eb9 Rollback risky change not necessary 2005-06-04 13:39:30 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
robocop
7813fe3402 Fix SF Bug #494981.
If we can print the name of the exception, we do.
2005-05-22 06:13:54 +00:00
alexpeshkoff
c03d2241c5 fixed issues, reported by Claudio 2005-05-17 18:20:07 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
dimitr
14ae4dc31c Check whether a row we perform positioned update/delete against is actually fetched. 2005-04-25 20:31:52 +00:00
robocop
41b4413530 Fix recently committed strange indentation. 2005-04-18 03:22:31 +00:00
dimitr
065d0d8c97 Fixed yet another case of database corruption due to pre-triggers.
More to come.
2005-04-15 14:33:55 +00:00
dimitr
f52b89dbe8 1) Made RefetchRecord a public routine
2) Use it in EXE to avoid code duplication
3) Some alphabetical code movement
2005-03-27 15:01:56 +00:00