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

55 Commits

Author SHA1 Message Date
dimitr
4e4d8002e5 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2015-10-19 13:32:02 +00:00
alexpeshkoff
c4c9daf132 Avoid limits on size of status vector in engine. Ensure that status is always clean on entry to interface methods. 2015-03-20 18:02:30 +00:00
alexpeshkoff
7fed9ff78c cleanup 2015-03-05 16:18:46 +00:00
asfernandes
47f64b0da4 Better constant names: avoid FB, enclosing class (double prefix) or wrong prefixes.
Left some TODOs in FirebirdInterface.idl and utilities/ntrace/TracePluginImpl.cpp related to trace.

(redo with fix for Windows build, and left another TODO comment in FirebirdInterface.idl)
2015-02-18 15:01:17 +00:00
asfernandes
c861f0cd54 Revert my last change after it broke the Windows build. 2015-02-17 23:21:25 +00:00
asfernandes
3c967bbe71 Better constant names: avoid FB, enclosing class (double prefix) or wrong prefixes.
Left some TODOs in FirebirdInterface.idl and utilities/ntrace/TracePluginImpl.cpp related to trace.
2015-02-17 14:56:59 +00:00
hvlad
e21e534e30 Memory leak (CORE-4683) 2015-02-16 13:56:13 +00:00
alexpeshkoff
9a7c7a6c31 Fixed CORE-4685: Accessing DB in invalid manner when links (hard or symbolic) are used for it 2015-02-09 14:08:31 +00:00
asfernandes
dddfb50e19 Misc. 2014-10-12 18:47:08 +00:00
dimitr
57a80daa81 Correction. 2014-09-01 13:22:55 +00:00
dimitr
b742803ebf Refactored the shared cache checks. Optimized the shared counter for SS. 2014-09-01 13:19:53 +00:00
alexpeshkoff
d513daa574 Divide IStatus information into 3 parts: errors, warnings and completion code.
Errors and warnings are processed in IStatus independently. Completion code
is moved away from IStatus and returned directly by appropriate functions.
Replaced isSuccess() with more generic function getStatus(), which sets
appropriate bits in returned value when errors/warnings are present.

Also use same style when returning bytes' array and it's length in different
interfaces.
2014-08-27 09:24:30 +00:00
dimitr
36af3d8cb2 Cleanup and small refactoring to avoid redundancy. 2014-08-15 14:19:02 +00:00
dimitr
51d1cd35d3 Front-ported Nickolay's improvement for the shared counter. 2014-08-10 20:07:45 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
alexpeshkoff
a9721f18e0 Added first parameter IStatus* to a lot of functions in API interfaces 2014-07-02 12:57:12 +00:00
alexpeshkoff
120b10a78a Implemented CORE-4263: Database linger 2013-11-14 16:16:24 +00:00
dimitr
b3e94683e5 Misc. 2013-11-13 16:08:15 +00:00
hvlad
5254e36a2c Correction for fix for bug CORE-4134 : Race condition when auto-sweep is started
The patch wrongly disabled manual sweep to run when database is shutdown.
Auto sweep is still disabled to run on such database.
2013-09-18 18:38:36 +00:00
dimitr
b7372ba47e Front ported CORE-3989: Bad performance / slow response when many concurrent sorts are executed. 2013-08-06 09:37:44 +00:00
asfernandes
b6a4d39596 Misc. 2013-07-06 23:11:13 +00:00
hvlad
c12e731b6a Fixed bug CORE-4134 : Race condition when auto-sweep is started 2013-06-29 11:32:55 +00:00
alexpeshkoff
b3f9759960 Take locks in AST before building tdbb
Fixed assertion in CCH_exclusive_attachment 
Rolled back my changes required to let cancelOperation() enter engine after shutdown
Better locks' history in SyncObject
2012-12-18 13:54:18 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
dimitr
42a4c93b97 1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related  refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
asfernandes
1dcad0fe90 Misc. 2012-06-03 03:00:24 +00:00
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
dimitr
46cc7d15af Optimized the shared counter generator to avoid LM calls if there's no contention on the protecting lock. 2012-03-27 10:52:15 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
dimitr
444d5302e1 Refactored the tdbb initialization, especially in AST and BG threads.
Replaced dbb_use_count with a list of active requests (to be utilized later).
Misc cleanup.
2011-10-18 18:02:57 +00:00
asfernandes
d0c2265105 Misc. 2011-05-10 01:12:14 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
hvlad
8d66ddd54b System requests should run with valid attachment assigned 2011-02-28 15:29:06 +00:00
dimitr
3cb62191b5 Front ported fix for CORE-3356. 2011-02-25 07:32:36 +00:00
dimitr
86ea2ddb00 Front ported:
Refactored the shared counter to support multiple number spaces.
Changed att_id and tra_id to be generated sequentially (without caching), as agreed with Vlad privately.
Fixed CORE-2305: Make mon$statement_id value constant among monitoring snapshots.
2011-02-15 07:16:57 +00:00
dimitr
2ed04ec8a9 Fixed CORE-3217: Server crashes inside the lock manager when multiple connections attaching/detaching simultaneously. 2010-11-08 10:21:04 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +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
asfernandes
e1ba33a2ae Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required. 2010-04-02 21:48:15 +00:00
hvlad
672cdb5704 Fixed bug CORE-2824 : Small memory and handles leak at every connect\disconnect 2010-01-23 16:28:40 +00:00
robocop
a18dc0519f Misc, style, fixing dangerous warnings, constness, etc. 2009-02-08 11:23:46 +00:00
dimitr
1efaffd4f7 Correction. 2009-01-28 13:02:59 +00:00
dimitr
1b3927b026 1) Globally named per-database shmem regions.
2) Slightly reworked monitoring internals.
3) Encapsulated the event manager, many internal changes there.
4) Various cleanup, etc.
2009-01-28 12:27:18 +00:00
asfernandes
262380af7b Misc 2008-10-16 02:31:49 +00:00
hvlad
466f57189f Correction 2008-10-14 09:51:21 +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
796a2e4b23 Fixed CORE-2064: AV when process is closing under high load 2008-09-04 09:58:20 +00:00
dimitr
94c5246dc8 Make Database::deletePool() consistent with MemoryPool::deletePool() regarding NULL pointers. 2008-04-17 07:52:52 +00:00