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

401 Commits

Author SHA1 Message Date
robocop
836041e871 Misc. 2014-04-04 07:52:41 +00:00
hvlad
092feed137 Fixed warning by PVS-Studio 2014-02-22 10:01:17 +00:00
hvlad
87ffb96a88 Misc. 2014-01-23 11:20:50 +00:00
robocop
2810026363 Misc and warnings. 2013-12-29 00:35:50 +00:00
dimitr
5453b5c394 Attachments marked as shutdown may still be running (before they reach the rescheduling point), so they should not be accounted as already gone. This should also fix CORE-4236: Database shutdown is reported as successfully completed before all active connections are in fact interrupted. 2013-11-13 15:42:48 +00:00
hvlad
34b99e6f3a Don't force flush for database which creation is not complete. 2013-11-07 10:32:35 +00:00
dimitr
ddcbc3928c Unconditionally flush the page cache to disk if FLUSH_ALL / FLUSH_FINI modes are used and FW=OFF. This puts a little bit more consistency and favors explicit flushes over implicit ones (e.g. when database is detached and its file is closed). 2013-09-22 15:35:36 +00:00
asfernandes
a66366bc82 Misc. 2013-08-18 18:53:41 +00:00
dimitr
d2fa09942e Fixed incorrect accounting re. number of fetches. 2013-08-15 11:54:56 +00:00
hvlad
82b574fbfd Restore scan-resistance feature of the page cache.
Refactor common code a bit.
2013-08-08 08:41:12 +00:00
dimitr
f4a856beee Fixed the page cache stats not being reported (CORE-4159). 2013-08-04 07:31:07 +00:00
asfernandes
b6a4d39596 Misc. 2013-07-06 23:11:13 +00:00
dimitr
1e03bccf84 Misc. 2013-07-03 11:33:59 +00:00
hvlad
de2a34daa3 Fixed my bug introduced when porting page cache on fb3 2013-06-30 14:02:51 +00:00
hvlad
0b5815507c Implement wait with timeout for page buffer's latches.
Note, engine passes timeout as negative seconds, while sync objects works with positive milliseconds.
2013-06-16 21:41:35 +00:00
alexpeshkoff
6f5fedec9a Fixes related with CORE-3993 2013-04-17 08:04:02 +00:00
dimitr
2fe61fed12 Avoid calling lock_buffer() for the SS setup. 2013-04-07 07:55:40 +00:00
asfernandes
26ab241631 Misc. 2013-03-30 02:31:03 +00:00
hvlad
447f204929 Refactor a bit 2013-03-28 16:52:03 +00:00
hvlad
c131de732c Cleanup:
- removed never used bcb_checkpoint and BDB_checkpoint
- removed conditional compilation for CACHE_WRITER as it is already ruled by flag BCB_cache_writer at almost all places
- added necessary checks for BCB_cache_writer when it was missed
2013-03-23 13:58:41 +00:00
dimitr
47c71f35ed Completed refactoring of the database shutdown. Fixed a few remaining bugs there. Fixed timeout accounting in SS as well as CORE-3817: Forced database shutdown does not work if non-zero delay was specified. 2013-03-17 12:14:25 +00:00
alexpeshkoff
fc12495d0e Modified IStatement interface in our API:
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
   therefore avoiding need in BLR generation in client applications.
2013-02-17 12:08:53 +00:00
asfernandes
d9275d6567 Misc. 2013-01-07 01:15:24 +00:00
dimitr
dcb8c8fd86 Front ported to trunk. 2012-12-21 14:11:45 +00:00
alexpeshkoff
c4ae450de4 Re-read attachment from lock after taking lock in attachment handler 2012-12-20 12:18:52 +00:00
hvlad
8d81d2717d Add lost PAGE_LOCK_RE_POST call. 2012-12-19 13:51:48 +00:00
asfernandes
9b72aa53bc Misc. 2012-12-19 00:56:57 +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
1b5f6cd7b2 Avoid garbage to be written to the shadow's header page. It does not really hurt, but anyway. 2012-12-10 05:50:52 +00:00
hvlad
7012311f4d Front ported fix for CORE-3034 (Bugcheсk 300 (can't find shared latch)) 2012-12-06 14:51:58 +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
alexpeshkoff
64a89b73a0 Improvement CORE-3588: More detail in message "wrong page type" 2012-06-28 11:46:21 +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
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
asfernandes
07557dc297 Misc. 2012-05-26 18:05:56 +00:00
robocop
844b15bd13 Misc and style. 2012-05-20 10:00:52 +00:00
robocop
642d506cd9 Change txn numbers to unsigned and commit after Vlad's review. If the compile-time checks (to ensure enough room for the new txn type) are too ugly, they may be deleted. 2012-05-19 12:04:37 +00:00
hvlad
ec6c21f244 Fixed bug CORE-3814 : SuperClassic server crashes when performing a database shutdown (FW=OFF) 2012-05-03 14:05:47 +00:00
asfernandes
580172419b Misc. 2012-04-23 00:48:28 +00:00
robocop
70d5ebdfdf - Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
hvlad
bd96e2c2e5 New patch for CORE-3468 2012-03-22 00:21:57 +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
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +00:00
asfernandes
ed3d7ed720 Misc. 2012-01-20 01:42:03 +00:00
robocop
e2914070b9 Misc. 2012-01-19 04:54:39 +00:00
dimitr
64f68935d0 Methinks this solution should be a bit better, as it doesn't overwrite the pending error code (happened in PIO). 2011-12-23 18:13:55 +00:00
dimitr
8dda62eaab Fixed the assertions caused by the isc_lock_conflict error left in the status vector after successful execution of the API call. 2011-12-23 17:11:37 +00:00
dimitr
d542f5ac88 Fixed the races leading to a crash during dbb finalization. Thanks to Adriano for assistance. 2011-11-01 04:02:59 +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
dimitr
4263301039 Refactored the database shutdown. Work in progress. 2011-10-10 13:51:10 +00:00
hvlad
dc4abc05e4 Protect system attachments list with dedicated sync object. It prevents deadlocks with common sync object on process shutdown. 2011-10-02 10:19:06 +00:00
asfernandes
b048dfb072 Misc. 2011-09-30 01:15:13 +00:00
dimitr
c864f7ed66 Misc. 2011-09-23 05:44:59 +00:00
dimitr
b100b395eb Being a little bit more paranoid doesn't hurt. 2011-09-22 18:15:21 +00:00
asfernandes
26392cae53 Misc. 2011-09-22 01:40:38 +00:00
dimitr
031339406c Methinks it's more correct from the scoping POV. 2011-09-21 17:49:49 +00:00
dimitr
17f39f77f9 Slightly reworked the cache writer thread:
- it doesn't make sense to return -1, as the result is void* with PTHREADS
- a single try-catch block looks better
- cross-helping between GC and CW/CR threads is agreed to be a bad idea
2011-09-21 07:45:09 +00:00
hvlad
82fc475600 Missed lock 2011-06-24 08:44:33 +00:00
robocop
5ad96271e6 Misc. 2011-06-24 06:34:16 +00:00
hvlad
b202c0573a Try to correctly handle IO errors in cache and avoid some internal deadlocks. 2011-06-15 12:44:44 +00:00
hvlad
757ac2923c Additional fix for correct Nbackup state lock accounting. See also CORE-3465 2011-06-15 11:59:28 +00:00
hvlad
9f94f41e4e Fixed bug CORE-3521 : Delta file contents is not flushed to disk 2011-06-15 11:43:42 +00:00
hvlad
81cec16f83 Fixed leak of SysAttachment instance. Noted by Claudio. 2011-06-13 11:09:19 +00:00
hvlad
00af466e84 Fixed mistake noted by Claudio 2011-06-03 08:25:04 +00:00
asfernandes
2c9dd7e1ff Misc. 2011-05-28 02:05:45 +00:00
hvlad
99c9c8e2db Enabled background threads (garbage collector and cache writer).
Introduced special kind of system attachments used in this threads and show its activity in monitoring.
2011-05-27 07:57:16 +00:00
asfernandes
7b72429210 Misc. 2011-05-13 01:15:18 +00:00
asfernandes
3800177568 Misc. 2011-05-12 00:42:40 +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
asfernandes
7915153e51 Misc. 2011-05-07 19:33:46 +00:00
hvlad
d57814996f Fixed bug CORE-3466 : Some changes could be lost during the merge of delta file into main database file.
Removed BDB_merge flag and related code.
2011-05-05 18:11:22 +00:00
hvlad
5bbff34ac1 FiFixed bug CORE-3465 : Nbackup state lock could be not released after cache error. It results in "Can't lock state for write" bugcheck when backup state is going to be changed. 2011-05-05 17:40:54 +00:00
hvlad
dc30e39fd7 Fixed bug CORE-3464.
Correct error reporting - bugcheck's 215 and 216 was confused with each other.
2011-05-05 14:33:50 +00:00
asfernandes
0193d90f6c Fix definition and usages of fb_assert. 2011-02-26 16:03:36 +00:00
hvlad
aa77d27743 Fixed problem with GTT's reported by Adriano in fb-devel 2011-02-14 08:47:09 +00:00
dimitr
d5b24b77fb Removed the supposedly wrong checkout (it was added in v2.0), as theoretically it can lead to race conditions in the page cache. 2011-02-03 08:01:22 +00:00
dimitr
e3831d1061 Fixed the cache logic (manifested itself as infinite loops) after Alex's SLONG->ULONG changes for page numbers. There's still room for further changes. While being there, performed some related cleanup. 2011-02-02 17:47:11 +00:00
asfernandes
ffb28dfc3d Misc 2011-01-22 17:15:52 +00:00
alexpeshkoff
f89ac854ef Getting ready to use 32 (not 31) page and transaction numbers 2011-01-21 17:55:04 +00:00
asfernandes
5c7e5ce634 Misc 2010-10-22 01:24:31 +00:00
hvlad
f223086fdd Corrections for new build system. Work in progress... 2010-10-18 17:23:36 +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
83d6a2f88c Restored a lot of changes, rolled back by me unintentionally 2010-10-12 11:36:51 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
robocop
98a2c6822d Warnings. 2010-09-24 09:53:51 +00:00
asfernandes
3940feef1f Port from CVS Vlad's fixes for CORE-3015, CORE-3016 and CORE-3017 2010-06-05 00:48:06 +00:00
asfernandes
0762519962 Misc 2010-04-09 00:53:31 +00:00
dimitr
e0179c672d Cleanup. Let's finally use a single (and standard) behavior of the allocator. 2010-04-08 09:35:39 +00:00
asfernandes
f9154aca75 Misc 2010-04-07 02:04:22 +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
dimitr
e5a732d782 Cleanup the dead code remaining from the legacy scrollable cursors feature. 2010-03-16 06:21:28 +00:00
alexpeshkoff
e5017f1a12 Extend format of firebird configuration file with a set of additional parameters for any parameter.
Use traditional firebird configuration files format in all places (intl, trace, etc.).
Add per-database configuration facility to aliases.conf (currently 15 parameters from firebird.conf).
2010-02-28 18:00:51 +00:00
alexpeshkoff
255f088785 Frontported fix for CORE-2842: Timeout with latchs in CCH does not work 2010-02-04 15:28:33 +00:00
hvlad
bf7464bc69 Cleanup : remove tree of dirty pages in favor of list based implementation. 2010-01-06 17:38:54 +00:00
hvlad
a2af0c8e9e ODS change : implemented SCN inventory pages to make diffrential backup faster not reading pages which was not changed since previous backup.
Corresponding nbackup and validation code changes also done.
PAG code refactored a bit.
2009-12-20 23:13:01 +00:00
hvlad
19f5a8b76e Misc 2009-12-14 11:41:47 +00:00
dimitr
c9fd9c5732 Cleanup. 2009-12-14 11:33:13 +00:00