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

129 Commits

Author SHA1 Message Date
Dmitry Yemanov
f2d0b64ba2 Misc adjustments after CORE-5232 and more encapsulation for the Lock
class.
2016-05-10 10:44:30 +03:00
asfernandes
6259b1b1e0 Misc. 2016-02-15 02:53:24 +00:00
alexpeshkoff
e7270beacd Postfix for CORE-5100: avoid races caused by temporary changed bdb_buffer 2016-02-05 15:13:47 +00:00
alexpeshkoff
08d4a3ed45 Fixed CORE-5044: Pages are encrypted for each shadow separately 2016-02-01 16:16:42 +00:00
asfernandes
0e686e0c58 Avoid warnings with clang. 2015-12-18 16:34:33 +00:00
alexpeshkoff
0891bc723d Fixed CORE-5041: Database may get corrupted after ALTER DATABASE ENCRYPT/DECRYPT issued multiple times per database open time 2015-12-10 16:58:58 +00:00
dimitr
dc7aad88ed 1) Slightly refactored recheduling and checkout logic.
2) Re-enabled checkouts in PIO routines, this resolves CORE-4179. Windows build may be broken, please validate.
3) Implemented faster reaction on asynchronous cancellation/shutdown requests.
4) Avoided locking dbb_sync in AST. This change also solves races during massive attachment shutdown.
2015-11-29 15:12:31 +00:00
alexpeshkoff
ee96e00cb5 Fixed CORE-4999: Deadlock when trying to access database with invalid crypt key 2015-11-09 15:10:44 +00:00
alexpeshkoff
139331c7e3 Enhanced memory leaks search - changed FB_NEW to FB_NEW_POOL,
plain new to FB_NEW, making allocated with it blocks tagged with file/line.
Make related code slightly better readable.
2015-10-12 14:26:00 +00:00
dimitr
02120b05d1 Put some order to the page size macros and their usage. Changed the default page size to 8KB. 2015-09-01 07:24:10 +00:00
alexpeshkoff
16768b177d Be more consistent putting IStatus into fast inline wrapper. Also some syntax sugar as suggested by Dmitry 2015-03-27 17:51:19 +00:00
dimitr
6199136792 Refactored database monitoring, made its handling attachment bound. This should make deadlocks impossible, as well as avoid blocking worker connections while the monitoring request is processed. 2014-07-31 08:56:53 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
robocop
daae978a9c Misc. 2014-03-26 19:10:08 +00:00
robocop
66af445e2e Misc. 2014-03-22 20:51:24 +00:00
asfernandes
b0d8a55c63 Misc. 2014-03-05 02:15:58 +00:00
hvlad
d125f5617a Fixed warning by PVS-Studio
Review is appreciated
2014-02-25 14:18:32 +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
alexpeshkoff
4ca6e669fe 1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +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
alexpeshkoff
9af385d031 Some changes in CryptoManager, discussed with Vlad and Adriano 2012-06-05 10:06:31 +00:00
asfernandes
cf6e699698 Misc. 2012-06-03 15:43:59 +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
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
alexpeshkoff
12cf01d608 Cleanup unneeded parameter (was used in nbackup, where PIO is replaced with OS function calls) 2012-02-28 11:08:30 +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
3ce54d2eda Misc. 2011-05-11 01:18:28 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +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
robocop
06a4224d0b Put class Attachment in its own files by brute force. 2009-12-25 09:55:05 +00:00
dimitr
c9fd9c5732 Cleanup. 2009-12-14 11:33:13 +00:00
hvlad
559494bfd3 A couple of ODS changes :
- abandon page checksums and use page number for validation
- PIP have now pip_used field to track number of allocated pages
- two more flag bits per data page is now reserved on pointer page. One is for the swept flag and second is still not used but makes calculations easy
- misc changes
Don't forget to rebuild your DBs !
2009-12-14 09:46:16 +00:00
robocop
1192a11d2a CCH_FETCH_NO_CHECKSUM becomes synonym for CCH_FETCH. 2009-11-29 07:14:55 +00:00
robocop
d5fc87e0d2 Make checksum deterministic in all platforms (it was already in Windows and UNIX). 2009-11-29 07:09:41 +00:00
asfernandes
50102f6f4c Misc 2009-08-23 01:27:46 +00:00
robocop
53e0eb32e0 Comment. 2009-08-21 09:45:08 +00:00
robocop
a958da87f5 Style. 2009-06-21 05:46:51 +00:00
robocop
b4a695a031 Misc. 2009-06-08 12:15:19 +00:00
robocop
efbc559a8f The last param to LCK_convert is not BOOL or bool but LCK_WAIT (1) or LCK_NO_WAIT (0) according to lock.h, -1 (infinite) or a custom value (provided as negative value by jrd_tra::getLockWait() since the user must input a positive value when starting the txn). 2009-01-03 09:34:42 +00:00
robocop
05c7a80586 Style. 2008-12-23 08:41:23 +00:00
robocop
e63b46bb9c There's no need to check whether a pointer is null before applying delete or delete[]. 2008-12-21 03:50:29 +00:00
asfernandes
d03b6ede7f Misc 2008-12-18 01:24:58 +00:00
robocop
28191799c9 Fix for random failure when shadowing is started (don't know how to reproduce it, but the error is evident in the source code). 2008-12-14 10:28:32 +00:00
robocop
511c7eb7d8 Promote thread_data* as function argument. 2008-12-14 10:19:27 +00:00
robocop
e4650d5027 Promote thread_data* as function argument. Only exception where both tdbb and dbb were left together as arguments is nbak.cpp's call to CCH_rollover_to_shadow to avoid any side effect in the changed code, but anyway, that function calls SDW_rollover_to_shadow that takes the dbb from the tdbb and not explicitly. 2008-12-14 09:28:25 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +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
dimitr
609f466ad3 1) Fixed the layering, as dbb_lock shouldn't belong to PIO.
2) Passed tdbb to some engine routines that were dealing with TLS.
3) Got rid of fil_length and some minor cleanup.
2008-07-09 08:40:31 +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