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

452 Commits

Author SHA1 Message Date
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
dimitr
d9c5e93442 Removed unused crap. 2005-03-11 08:34:20 +00:00
skidder
76a0760436 Fix possible engine lock-up/crash when 'RELEASE SAVEPOINT xxx ONLY' syntax is used or when existing savepoint name is reused in transaction context (when old savepoint with the save name is implicitly released) 2005-01-26 18:04:37 +00:00
robocop
3a96ed46c4 Misc. 2005-01-21 10:45:01 +00:00
dimitr
49f06704db Looper fixes:
1. Slightly changed the error handling to exactly correspond the FB1 logic
2. Added code to always cleanup the active savepoints, even after nested error handlers
3. Fixed one little debug-time issue
4. Replaced VERB_CLEANUP macro with an inline function
2005-01-04 13:09:11 +00:00
skidder
f44f06d085 Fix the memory leak from transaction pool when selectable stored procedures are called from PSQL or in subqueries 2004-12-07 01:19:55 +00:00
skidder
e823628754 Dmitry asked me to add support for calling UDF routines ignoring return arguments so did I 2004-11-25 00:47:20 +00:00
hvlad
1f30165bf0 1. Use isc_stack_trace instead of isc_random
2. Correct exception handling when dynamic string is used. See comments in exe.cpp
2004-11-18 13:58:46 +00:00
dimitr
499688434f 1) Reworked error reporting
2) Allowed positioned updates for explicit cursors
3) Fixed some possible server crashes
2004-11-17 15:23:27 +00:00
robocop
628b088d2c Treat string literals and string constants with more respect. 2004-11-10 04:26:45 +00:00
alexpeshkoff
6e89d3e6d8 avoid warnings in gcc 2004-11-07 14:30:38 +00:00
skidder
cc1387505d Fix possible server crash when EXECUTE_IMMEDIATE is used to release or rollback transaction to non-existing savepoint. Reported by David Rushby as a part of 1.5.2 field test 2004-11-06 06:05:38 +00:00
robocop
35d0f01208 Forbid literal string assignment to array. Error msg is still confusing. 2004-11-01 08:13:44 +00:00
dimitr
feb6b7e006 Replaced non-centralized datetime management with a new class. 2004-10-30 19:41:54 +00:00
robocop
739fc568f7 Misc. 2004-10-23 00:54:26 +00:00
dimitr
09c51110b4 Added the equivalence operator. The major index optimizations are done.
Notes:
1) Some optimizations will follow after more deep analysis.
2) The syntax "==" is not yet agreed on. I'd prefer it to be changed.
2004-10-14 19:09:19 +00:00
robocop
2f087d53a6 Misc 2004-10-09 03:52:59 +00:00
dimitr
421f259a4e 1) Locks related cleanup
2) Got rid of TRA_nowait + transaction waits related cleanup
3) Return isc_lock_timeout when it's necessary
TODO: Enhance SET TRANSACTION
2004-10-07 09:15:32 +00:00
robocop
ed17cfafbf Style:
if<space>(
for<space>(
switch<space>(
while<space>(
2004-10-04 08:15:00 +00:00
dimitr
ae9d129c1c Added more points to reschedule. 2004-10-03 12:10:19 +00:00
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
robocop
b60c0e4cab Misc: format 2004-08-21 09:29:46 +00:00
dimitr
469005eadd More asserts and some style changes. Thanks to Claudio. 2004-08-20 08:25:45 +00:00
dimitr
f9bc338798 Added more checks for a possible literal NULL and another cases when EVL_expr() may return NULL pointer. 2004-08-17 12:28:57 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
hvlad
d82cde309e Ability to show PSQL stack trace when exception occurs. 2004-08-06 15:26:55 +00:00
robocop
682b582764 USHORT -> bool 2004-07-07 03:47:12 +00:00
skidder
f4e7ebdd3b Implement rudimentary framework to track lifetimes of active BLOBs.
This solves the following issues:
1) Outrageous memory consumption when blobs are converted from strings during request processing
2) Materialization doesn't cause invalidation of BLOB IDs too early.
Original behaviour caused errors with updatable views or procedures receiving BLOB arguments.
2004-06-22 20:13:10 +00:00
alexpeshkoff
1591a54e5e Thread cleanup:
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
brodsom
f4ca41fa3d -Replace *_thread_data macros with inline functions (jrd step 1) 2004-05-22 14:28:54 +00:00
brodsom
68cb86b274 - Remove *_THREAD_DATA definitions from thd.h, are unneeded and conflicts with definitions in providers/services main headers (which need to use undef).
- Use different names for each service/provider *_THREAD_DATA macros.
2004-05-19 18:14:29 +00:00
brodsom
60d9d085a0 Macro cleaning 2004-05-03 21:43:56 +00:00
robocop
faa41f7b3b Cleanup 2004-03-30 04:10:52 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
695c222ad2 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 15:33:30 +00:00
robocop
958f9e31aa Cleanup
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
alexpeshkoff
67f1740fea Various cleanup to make engine compile and work after mentioned earlier changes.
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
skidder
c64f31b712 Fix some warnings from GCC/Linux build. Some of them were subtle errors 2004-03-12 07:00:52 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
dc7aab8f9c Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed 2004-03-01 03:35:23 +00:00
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
robocop
2b295a9108 General cleanup. Sorry if I missed some occurrence. 2004-01-28 07:50:41 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
b441cd9aef Cleanup 2004-01-13 09:52:19 +00:00
skidder
f13d160aa5 Fix resource leak for recursive procedures when procedure request is closed at
SUSPEND statement. This leak prevented more then 1000 such operations for one connection.
This bug was reported by Claus Holst
2004-01-10 01:48:46 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
dimitr
9a24b23947 Get rid of the free block lists. Our memory manager handles it better. 2003-12-13 10:42:10 +00:00
robocop
d020ea5ca1 ping-pong cleanup: change one place and you have to change several others 2003-12-11 10:33:30 +00:00
robocop
84062732d8 More cleanup 2003-12-03 08:19:24 +00:00
skidder
16ea16b085 Fix invariant tracking in recursive procedures and when invariants
depend on variables. This solves issues like SF#627057.
2003-11-23 20:17:30 +00:00
dimitr
7455c77e4d Fixed IF handling in the looper. 2003-11-23 17:39:38 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
dimitr
63809c18b8 1) Make view fields unconditionally updatable
2) Make views updatable only directly or via the triggers
3) Cleanup
2003-11-09 09:51:02 +00:00
brodsom
89e8f89f86 Extern "C" cleaning 2003-11-06 03:03:36 +00:00
robocop
35396625f5 const correctness
function signatures
variables in local scope
BOOLEAN -> bool
TEXT[32] as SqlIdentifier for DYN
Stop random garbage in firebird.msg's bytes 8 to 11
some cleanup
2003-11-05 09:02:33 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
dimitr
a78ded3338 no message 2003-11-02 12:05:38 +00:00
dimitr
9b20660785 1. Fixed GDSCODE and SQLCODE variables
2. Enhanced ROW_COUNT variable
3. Fixed EXCEPTION statement
4. Added explicit cursor internals
5. Some cleanup
2003-11-02 11:55:17 +00:00
robocop
480c1ee968 const correctness 2003-10-08 08:42:48 +00:00
skidder
c89eff0436 Fix bug in savepoints support introduced by Dmitry a few RCs ago 2003-10-01 12:51:23 +00:00
brodsom
9d5721473a Removing SHLIB_DEFS 2003-09-22 17:56:35 +00:00
brodsom
382cd1c45e Code cleaning 2003-09-08 01:45:09 +00:00
brodsom
8624a7c209 -Use NULL instead 0 for null pointers
-Remove unneeded casts
2003-09-01 07:58:04 +00:00
dimitr
ace547ee98 Fixed broken savepoint handling in BREAK/LEAVE/EXIT.
The bug caused to logical database corruption/inconsistency, such as PK/UK violation, or BUGCHECK(287).
2003-08-30 16:43:16 +00:00
brodsom
6a2ef35fda -Remove NULL_PTR
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:16:03 +00:00
aafemt
8798a33d84 ENUM removal 2003-08-22 10:56:55 +00:00
brodsom
e401cb40c7 -Fix cast warnings
-Fix signed/unsigned comparison warnings
2003-08-09 20:58:34 +00:00
dimitr
b671c2639d A bit corrected GDSCODE handling + minor cleanup. 2003-08-04 07:20:35 +00:00
alexpeshkoff
44bc8419ed fixed bug with tdbb_transaction, overwritten in EXE_unwind 2003-07-14 13:21:07 +00:00
dimitr
6c36c2c400 Fixed error handling in the looper. 2003-06-28 09:32:46 +00:00
dimitr
5eaf6394d1 Some savepoint-related changes:
1. release single savepoint
2. fixed exception handling
2003-06-26 10:44:16 +00:00
alexpeshkoff
fa3c980179 fixed diagnostic in EXECUTE STATEMENT & DirectoryList 2003-06-16 15:43:00 +00:00
dimitr
112c7022b6 Fixed (hopefully) savepoints implementation:
1) RELEASE SAVEPOINT statement is added
2) SAVEPOINT statement now re-establishes existing savepoint with the same name
3) all savepoint stuff is changed to use single BLR verb
2003-06-10 13:40:19 +00:00
skidder
b79a5aa971 Fix metadata cache problem that prevented restore of some databases 2003-06-01 16:22:47 +00:00
dimitr
9b871075a1 We should never treat numeric NULL as zero. Always check for req_null flag. 2003-05-27 15:44:55 +00:00
dimitr
414206c2d0 Fixed bug with incorrect handling of numeric NULLs as exception messages. 2003-05-26 15:45:29 +00:00
alexpeshkoff
b69e76cb3a Use transaction pool for storing rpb chains.
Bug in commit, which I tried to fix using permanent pool here,
was caused by another reason and already fixed.
2003-05-22 16:59:49 +00:00
alexpeshkoff
f9e867a94f Fixed bug with wrong req_attachment after exception in procedure 2003-05-14 08:24:49 +00:00
alexpeshkoff
1896baa4ab Fixed bug with NULL argument 2003-05-13 12:04:22 +00:00
alexpeshkoff
6943275bcc Moved pre-(modify,erase)triggers code to single inline function 2003-05-05 11:47:45 +00:00
dimitr
29191e1195 1. Cleanup
2. Fixed bug with wrong record statistics when operation fails after a VIO call
(e.g. constraint violation or exception in post-triggers)
2003-05-04 15:39:42 +00:00
alexpeshkoff
784fe6e723 Use the same pool for array and it's elements 2003-04-26 10:09:38 +00:00
alexpeshkoff
185fc0432c Fixed 2 bugs, which caused server to crash 2003-04-25 17:15:43 +00:00
alexpeshkoff
2d59c9cd0f Fixed bug with wrong rpb contents after pre-triggers execution 2003-04-25 14:51:04 +00:00
dimitr
7ef23f7a82 With some luck, this should fix the buggy behaviour of ROW_COUNT. 2003-04-24 05:46:49 +00:00
alexpeshkoff
2a5b52a0e4 execute statement cleanup 2003-04-22 08:45:52 +00:00
aafemt
e5146fd644 Introduce of ISC_STATUS_ARRAY 2003-04-16 10:18:51 +00:00
dimitr
a7dfa5de94 Fixed problem with error reporting. 2003-04-13 13:22:23 +00:00
aafemt
19bb54f2a8 STATUS -> ISC_STATUS 2003-04-10 06:49:16 +00:00
skidder
8fbe3f2d29 Fix up the reason of slowdown of Windows CS 2003-03-24 14:41:42 +00:00
dimitr
f489530467 Some cleanup and bugfixing. 2003-03-05 12:50:44 +00:00
brodsom
79a40c0d99 Put declarations and definitions inside the same ifdef condition under which is used. (for not used ones NOT_USED_OR_REPLACED) 2003-03-03 09:22:32 +00:00
alexpeshkoff
878b0b6091 Fixed EXECUTE STATEMENT to support INTO clause 2003-03-01 19:19:23 +00:00
dimitr
d39683e261 Cleanup. 2003-02-14 09:26:55 +00:00
dimitr
67749f906b Fixed exception handling. 2003-02-13 13:33:57 +00:00
dimitr
b096a2593d CONST -> const 2003-02-13 10:11:35 +00:00
tamlin
fe66550bf6 Just some reformatting and added a TODO comment. 2003-02-12 19:12:15 +00:00
eku
a7f18b2e31 Removed "register" variables from the source code. It's up to the compiler
to hold variables in CPU registers.
2003-02-10 13:28:35 +00:00
brodsom
5e5bea58a6 Remove unusable define (needed header don't exist) 2003-02-10 00:09:35 +00:00
dimitr
feed25d451 Added support for parametrized events and runtime trigger action checks. 2003-01-15 12:08:59 +00:00
dimitr
f904819b4d Fixed coredump when a message expression was NULL. 2002-12-11 09:39:41 +00:00
eku
5b8ffd81c2 Removed unused variables. 2002-12-10 11:53:53 +00:00
hippoman
9a8f0768b9 Changed struct fld and FLD to local module names 2002-11-30 17:45:02 +00:00
skidder
27b364320b Fixed crash when grouping by invariant subquery 2002-11-24 13:47:17 +00:00
hippoman
7387e6fb70 changed nod,tra,req,trg,rel,ctx,prc struct names to local module names 2002-11-20 23:18:16 +00:00
skidder
53f625e077 New explicit pessimistic locks implementation. It is logically consistent in all TPB modes and should be very fast. 2002-11-18 20:27:24 +00:00
hippoman
4a76e9e4fe change TRA,REQ,TRG,REL,CTX or PRC, to module local names. 2002-11-17 00:13:59 +00:00
dimitr
ef4d6fd247 Fixed bug with dynamic exception messages. 2002-11-14 07:42:50 +00:00
dimitr
ae89b0f3cb Fixed bug with dynamic exception messages. 2002-11-14 07:35:44 +00:00
alexpeshkoff
865b39fec1 Fixed bug with exception inside for/while loop in triggers 2002-11-13 15:57:29 +00:00
hippoman
25c1dbd367 * Changed NOD struct name to JRD_NOD. 2002-11-11 19:42:47 +00:00
skidder
d6ae24865d Reworked savepoint stuff a little 2002-11-03 17:29:51 +00:00
seanleyne
b3ad604669 Removed support for obsolete "PC_PLATFORM" define 2002-10-31 05:06:02 +00:00
skidder
8e6622a20e Merging changes from skidder branch - explicit locks, savepoints, build system changes 2002-10-29 20:20:44 +00:00
tamlin
fb3cfa85da const correctness etc 2002-10-29 16:27:47 +00:00
seanleyne
cc1f10d9a3 Code cleanup, removed obsolete "DecOSF" port 2002-10-29 03:17:45 +00:00
dimitr
380f6658b3 Fixed a possible buffer overrun. 2002-10-19 09:05:37 +00:00
dimitr
536d8c0552 1. Reworked internal_info implementation in both DSQL and JRD.
New helper class created to serve it properly.
2. Added exception re-raise semantics.
Syntax: EXCEPTION;
If there was handled exception, re-initiate it, otherwise evaluate to no-op.
3. Implemented run-time exception messages.
Syntax: EXCEPTION <exception_name> [<value>];
If <value> is specified, evaluate it and use instead of RDB$EXCEPTION_MESSAGE.
4. Added new SQLCODE and GDSCODE system variables.
Available in procedures/triggers only.
If there wasn't any exception raised, return zero (success), otherwise return an error code.
5. Implemented ROWS_AFFECTED system variable.
Available in procedures/triggers only.
Count rows affected by the last INSERT/UPDATE/DELETE statement.
For any other statement, result is always zero.
2002-09-28 14:04:35 +00:00
bellardo
79a6e8b099 Cleaned up some include directives after renaming jrd_time.h. 2002-09-27 01:28:27 +00:00
skidder
6d64014e57 Changed engine to store source file name/line number information for EVERY allocation when DEBUG_GDS_ALLOC is defined. All allocation should be done using FB_NEW or FB_NEW_RPT macros instead of keyword new since now 2002-09-25 17:12:16 +00:00
skidder
b374caac68 Deferred user trigger compilation added. Solves some, but not all DDL issues and speeds things up 2002-09-19 16:02:58 +00:00
eku
ef2ff91438 Autoconf cleanup:
o use predefined macros to test for sys/wait.h, time.h and sys/time.h
 o search strcasecmp in libresolv only if strcasecmp and stricmp are not in libc
 o use predefined macro AC_SYS_LARGEFILE to determine 64Bit I/O
 o determine the alignment of long and double (ALIGNMENT,DOUBLE_ALIGN),
   still need to write a test for FB_ALIGN!
2002-09-18 12:50:13 +00:00
eku
4eaf8c0914 Autoconf cleanup:
o since the define 'VAX' was only used to tell that the byte order is
   LITTLE_ENDIAN (it have nothing else to do with the VAX computer family)
   it can safely replaced with '!WORDS_BIGENDIAN'.
 o check if pointers are 64 bit
 o replaced HAS_64BIT_POINTERS with 'SIZEOF_VOID_P == 8'
2002-09-17 05:58:40 +00:00
eku
da93f6697f Autoconf enhancements:
o autoconf v2.53 and later is now required to generate configure
   (sorry, but it makes many tasks easier)
 o improved tests for mmap, socklen_t and offt_64
 o added tests for atexit, on_exit, (v)fork, set(p)grp, setpgid and flock
 o added test for the keyword 'volatile'
 o fixed errors in configure.in
 o updated config.h.in and autoconfig_msvc.h (the latter may be incorrect)
 o replaced VOLATILE by volatile
 o removed SETPGRP and ATEXIT
 o replaced NO_FLOCK by HAVE_FLOCK
 o SIG_FPTR cleanup
 o vfork cleanup
2002-09-11 11:30:50 +00:00
dimitr
b9ef9abcc0 Get rid of the legacy GATEWAY (vms/oracle) implementation. 2002-08-22 08:20:27 +00:00
dimitr
8b2497e5de Merging changes from fb1. 2002-06-30 10:15:57 +00:00
dimitr
c8266b189f Merging changes from fb1. 2002-06-30 09:58:20 +00:00
bellardo
29a3a3f1f5 throw clause cleanup. 2002-04-18 03:54:36 +00:00
dimitr
1a6ad1ebc8 Fixed one memory allocation issue. 2002-04-06 08:50:38 +00:00
dimitr
8463265fc1 Implemented 'EXECUTE VARCHAR' command. 2002-04-04 13:53:20 +00:00
bellardo
e9496a000d Cleanup of some try/catch block mistakes during the initial exception conversion. 2002-04-02 23:12:03 +00:00
tamlin
5ae485f0b5 cleaning up 2001-12-29 11:41:29 +00:00
tamlin
c15f569b4a cleaning up 2001-12-28 06:31:38 +00:00
tamlin
80f7fb6dd4 New C++ memory pool 2001-12-24 02:51:06 +00:00
skywalker
365a7fe19c Changes to compile fb2 under autoconf includes some structural changes 2001-07-29 17:42:23 +00:00