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

236 Commits

Author SHA1 Message Date
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
asfernandes
ad716e38d9 Misc 2008-10-20 23:46:46 +00:00
robocop
60d4b42518 Straighten some multi-line statements that can fit in less than 100 columns. 2008-10-16 11:30:10 +00:00
dimitr
c4530625d9 Undo log shouldn't depend on the outer transaction. 2008-10-16 05:36:36 +00:00
dimitr
e0db5f3ecd Splitted the undo log into two parts: in-memory one for initial undo items (but they're much more dense now) and on-disk (cached up to TempSpaceLimit) one for full record versions (used in update-in-place).
This dramatically reduces the memory usage for bulk updates, thus solving CORE-1575 (serious memory bug on multiple update a table in a single transaction) and CORE-1477 (Avoiding excessive memory consumption by undo-log after series of updates) and predicting out-of-memory conditions that could often lead to record-level corruptions.
2008-10-14 10:32:54 +00:00
hvlad
a3d266ba83 Fixed bug CORE-2018 : Only one client can access a readonly database 2008-10-14 09:10:36 +00:00
alexpeshkoff
e79f55708d 1. Cleanup - use Firebird::Semaphore instead of local events, removed code
related with local events from isc_sync.cpp.

2. Cleanup - removed unused parameter 'number of events' from ISC_event_wait()
and two unused parameters from ISC_event_init().

3. Added SYSV-semaphore based implementation of IPC to isc_sync.cpp.
This should fix CORE-2102: Firebird 2.5 does not build on MacOS (Darwin).

4. Fixed use of posic CS without (x)inetd (i.e. fb_inet_server -s).

5. Fixed (to be reviewed by Dmitry) recovery after some process death in lock manager.
2008-10-10 15:58:05 +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
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
alexpeshkoff
e0109ab067 1. Use DFW to store data for user management.
2. Minor cleanup in DFW, fixed memory leaks.
2008-05-21 08:13:20 +00:00
asfernandes
c9202a3767 Misc 2008-05-18 02:02:50 +00:00
alexpeshkoff
0552035ce5 Added transaction support in user management commands 2008-05-15 15:15:02 +00:00
hvlad
85aed9d302 Make ViewContext::vcx_context_name able to store more than 31 chars as was discussed in fb-devel. Thanks to Claudio for the tips. 2008-05-11 21:27:21 +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
9280a572a0 Avoid long blocking of att_mutex and make sure it is always released when attachment deleted.
Move active requests cancellation at engine shutdown from Y-valve into engine and let them stop execution before deletion of attachments.
Make sweep run in separate thread despite of engine architecture.
2008-05-04 12:49:29 +00:00
dimitr
c66a8cb62a Misc. 2008-04-30 19:16:12 +00:00
dimitr
7fc85de737 Misc. 2008-04-17 07:54:10 +00:00
robocop
bf0db00991 Misc. 2008-04-13 06:40:26 +00:00
hvlad
fe3f8c184b New EXECUTE STATEMENT with support of external data source implementation 2008-04-09 20:18:47 +00:00
robocop
922206ecc7 Fix comment. 2008-04-09 13:46:22 +00:00
hvlad
4224fce3ff Clear lock error in TRA_sweep else it is wrongly reported as failure of currently starting transaction. 2008-04-05 23:06:31 +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
dimitr
2f41d8e8ba Corrections for the currently disabled code. 2008-04-02 12:42:09 +00:00
dimitr
f5659c0b70 1) Major cleanup of the old-style blk and allocator-based blk_type.
2) Added synchronization for the JRD locks.
2008-03-19 16:19:56 +00:00
robocop
f5db14b277 Pass some tdbb's as arguments. 2008-03-18 13:04:05 +00:00
asfernandes
12c50384b5 Misc 2008-03-13 02:43:32 +00:00
dimitr
afb970dba1 1) Cleanup.
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
robocop
04106ddde6 More fixes for CORE-1600.
CORE-1777.
2008-03-12 07:33:12 +00:00
asfernandes
74d8711856 Misc 2008-03-08 21:20:26 +00:00
robocop
c8082004d2 CORE-1600. Needs testing with any sort of valid and invalid TPBs. 2008-03-07 07:28:57 +00:00
robocop
2d8ac2acb9 CORE-1600, work in progress, before I have to return to my private work. 2008-03-06 09:43:43 +00:00
dimitr
99caa91b85 DSQL integration into the engine. 2008-02-28 13:48:16 +00:00
robocop
f8007f4071 Misc. 2008-02-24 03:23:40 +00:00
alexpeshkoff
19b903f0c5 fixed posix build 2008-02-14 11:52:59 +00:00
dimitr
9c69da779a Misc. 2008-02-13 16:46:11 +00:00
robocop
4c3381ef6b Style, constness and macro cleanup. 2008-02-03 10:41:44 +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
955819dfd4 better way to fix a problem - suggested by Dmitry 2008-01-23 14:20:40 +00:00
alexpeshkoff
28a6d557ed One more deletePool - also added destructor 2008-01-23 14:12:15 +00:00
alexpeshkoff
578e81508b Call transaction destructor before removing transaction pool 2008-01-23 13:44:03 +00:00
dimitr
48e81dd58a The merge is being fixed. 2008-01-16 12:22:11 +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
robocop
4de70004e6 Relax the txn option checks as required by Dmitry. 2007-09-11 07:47:41 +00:00
asfernandes
0359e65d4f It's difficult for human beings distinguish between l (letter) and 1 (number one) 2007-09-10 00:26:45 +00:00
robocop
d59376ef7c Fix CORE-1440. 2007-09-04 08:22:48 +00:00
asfernandes
f3ba6d4fa5 Misc 2007-08-29 02:33:35 +00:00
robocop
66d30dac5c Let's detect wait/no_wait conflict as requested by Dmitry. 2007-08-28 05:28:24 +00:00
robocop
786039bb28 Implement a variation of the suggested fix in CORE-1416:
- Use isc_bad_tpb_content instead of isc_bad_tpb_form seems better, considering the rest of the cases.
- Detect another trivial case: wait once no_wait has been seen previously.
2007-08-25 08:06:09 +00:00
dimitr
1d4a090bcf Misc. 2007-03-09 08:56:31 +00:00
alexpeshkoff
cef61d5d3c Fixed unregistered bug, reported privately by Adriano 2007-02-12 15:52:57 +00:00
dimitr
bdee46366b Misc. 2007-02-12 10:18:43 +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
1ce4eb2a2b Fixed CORE-980. 2006-10-30 19:04:27 +00:00
asfernandes
1d422a8330 1) Refactor intl_classes.h and intl.cpp
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
8e7e781e5f Partial commit with some cleanup and more constants. 2006-10-10 06:41:36 +00:00
asfernandes
6174398915 Misc 2006-10-08 16:03:37 +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
asfernandes
6c707c12a1 Misc 2006-08-08 02:42:10 +00:00
asfernandes
e538061c38 Implementation of CREATE/DROP COLLATION and ISQL show/extraction of collations 2006-08-07 16:39:21 +00:00
robocop
70eeae5c45 Delete strange cast. 2006-07-27 09:29:04 +00:00
asfernandes
ea0435247a Misc 2006-07-18 02:45:35 +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
7040d668fd Misc. 2006-05-25 08:40:23 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +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
c5f2284b15 Style. 2006-04-06 08:18:53 +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
hvlad
e631258ed3 1. Let SUPERSERVER_V2 also check for transactions numbers overflow
2. Correction
2006-02-05 11:06:28 +00:00
hvlad
daadf2dce0 Prevent transaction numbers from overflow MAX_SLONG boundary 2006-02-03 17:44:19 +00:00
hvlad
43fc51e2c1 Prevent unnecessary blocking of garbage collection by read-committed transactions 2006-02-03 13:49:39 +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
51e1d59ac5 Misc. 2006-01-28 04:12:42 +00:00
dimitr
d1721c7142 Fixed a number of inconsistencies in the rollback code. 2006-01-25 12:20:57 +00:00
hvlad
44908a267c Attachment with isc_dpb_no_garbage_collect option will not force a sweep 2006-01-21 15:29:21 +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
alexpeshkoff
62a24d46e4 1. Moved data structures, written to database file, into ods.h.
2. Added new types of clumplets to ClumpletReader and ClupmletWriter.
3. Applied modified ClumpletReader and ClupmletWriter to /remote and partially /jrd.
4. Added active protection from remote brute-force attack to services API.
2005-11-27 20:53:09 +00:00
robocop
1e562ddc16 Totally misc. 2005-11-11 05:42:42 +00:00
robocop
0142cdfb01 Backport Ann's fix for the system txn. 2005-11-06 03:20:18 +00:00
hvlad
0f8e1ad170 Fixed AV in notify_garbage_collector 2005-10-20 13:03:33 +00:00
dimitr
92415ce39f Fixed a bugcheck (and possibly an engine crash) during server shutdown.
Force a TIP based rollback instead of using a transaction-level savepoint in this case.
2005-07-25 05:03:26 +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
hvlad
6f46db5cfe Mark system transaction state as tra_commited in TIP (it was wrongly marked as tra_dead) 2005-03-23 20:35:39 +00:00
robocop
8976d9859f Misc. 2005-01-25 06:23:58 +00:00
dimitr
a0b24cf577 Don't forget to remove user savepoints in the no-op part of the commit-retaining implementation. 2005-01-04 13:37:11 +00:00
robocop
d65307b497 Style. 2004-12-24 08:52:39 +00:00
alexpeshkoff
387e678cca applied Clumplet* classes to dpb where possible 2004-12-09 19:19:47 +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
hvlad
aba34753cb Add config file parameter for the garbage collection policy 2004-11-09 12:59:37 +00:00
hvlad
4d95ce3d42 New garbage collector thread implementation 2004-11-05 08:01:21 +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
skidder
85297ac45a Fix MSVC7 builds 2004-09-28 21:50:10 +00:00
dimitr
a4cb9ebc26 Added transaction lock timeouts and new TPB value. 2004-09-28 20:25:52 +00:00
skidder
02a0915156 Teach engine to work with larger record numbers - 64-bit internally, 40-bit externally 2004-09-28 06:28:38 +00:00