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