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

69 Commits

Author SHA1 Message Date
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
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
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
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
robocop
5ad96271e6 Misc. 2011-06-24 06:34:16 +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
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
alexpeshkoff
6cbefa1f46 Introduced class SharedMemory - base class for everything, using IPC. Related to CORE-3035. 2010-06-25 11:55:11 +00:00
dimitr
e5a732d782 Cleanup the dead code remaining from the legacy scrollable cursors feature. 2010-03-16 06:21:28 +00:00
hvlad
bf7464bc69 Cleanup : remove tree of dirty pages in favor of list based implementation. 2010-01-06 17:38:54 +00:00
robocop
45cc25511c Cleanup. 2009-11-28 07:29:26 +00:00
hvlad
789b069820 Improvement CORE-2672 : Reduce precedence writes 2009-10-11 22:15:51 +00:00
hvlad
1c1dbeae5b Improvement CORE-1687 : Allow bigger cache sizes than 2 GB (16K * 128 K) for x64 builds 2009-09-06 09:39:40 +00:00
robocop
cd43c3930d Who need SATOM and UATOM these days? 2009-08-23 12:35:03 +00:00
asfernandes
50102f6f4c Misc 2009-08-23 01:27:46 +00:00
robocop
97c384d984 Comments. 2009-08-22 12:16:47 +00:00
asfernandes
f6f364da49 Trim trailling spaces 2009-04-04 16:39:31 +00:00
robocop
4480c7c405 Misc. 2009-04-01 10:49:54 +00:00
asfernandes
a6d88154ee Misc 2009-03-18 02:43:15 +00:00
roman-simakov
1a4949891b Refactored NBackup subsystem.
1) Fixed CORE-1696 - "Deadlock in LM by using nbackup utility" with priority rating of lock requesting for LCK_backup_database and LCK_bdb.
2) A lot of stability fixes were made.
3) The key thing is using new GlobalRWLock for removing LCK_set_owner_handle function and speed up performance.
4) The code is still ready for using both in shared cache architecture and in claster architecture.
2009-03-17 07:39:55 +00:00
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +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
robocop
e7fc137bc1 Catch more SUPERSERVER_V2 related things. 2008-06-06 09:08:26 +00:00
hvlad
6bff6c6649 Replace fixed size array of shared latches (bdb_shared) by queue. It allows to have more than 20 simultaneous readers for hot pages and eliminate needs for scanning full array when searching for current thread's latch 2008-06-05 08:35:18 +00:00
dimitr
47039b3ad8 Misc. 2008-05-21 05:50:56 +00:00
robocop
e44a99f339 Style and minor cleanup. 2008-05-10 03:44:57 +00:00
robocop
b4091ac9a6 Make them explicit. 2008-03-10 08:16:57 +00:00
robocop
7a0a29e234 Move some clutter out of jrd.h to Database.h and Database.cpp. 2008-02-14 12:24:27 +00:00
hvlad
078f55d9b0 Fixed bug CORE-1731 : Sometimes engine may "hang" using 100% CPU load and no IO activity for the few minutes 2008-02-06 17:06:43 +00:00
dimitr
132176a475 Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 12:52:51 +00:00
hvlad
f40e794951 Implement improved dirty pages flush algoritm 2007-05-17 07:17:11 +00:00
skidder
f231dc3d1e Cleanup as requested by Dmitry and Vlad
- do not write pages of temporary tables to the NBAK delta files (engine still does a lot of unneeded locking and synchronization for temp pages, especially in CS builds, but this is another problem)
- refactor and clean up potential problems in the logic of dirty page -> clean page transition
2007-04-26 20:16:48 +00:00
skidder
04b9ec818b NBAK synchronization rework. This should fix CORE-1151 and other Nbackup stability issues 2007-04-24 14:05:46 +00:00
alexpeshkoff
a13e291d5f front-ported fox for CORE-1098 2007-01-18 15:50:18 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +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
dimitr
4ef8631580 Cleanup. 2005-01-24 07:58:34 +00:00
robocop
31ba754981 After talking to Ann, decided to disable several items:
- obsolete items like WAL and JOURNAL (cleaned in the past)
- crud from attempts never finished like the shared cache manager for Classic
- DSQL nodes that aren't used. This allowed freeing some keywords.
The functionality was disabled by commenting the code. No code has been deleted.
2004-10-03 04:49:04 +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
dimitr
7460be6611 1) Added AVL-binary tree implementation for the dirty page tree. Notes:
- old implementation is still in place and can be turned on (see BALANCED_DIRTY_PAGE_TREE macro)
  - both implementations are unconditional to keep them in sync until the old one is dropped completely
2) Increased MAX_PAGE_BUFFERS to 128K (2GB for 16K page size)
2004-09-26 09:49:16 +00:00
dimitr
dee57f98e5 Removed unused JOURNAL remains and make database statistics working again. 2004-08-29 11:24:19 +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
64c1dee04e -Use C++ struct declaration style. 2004-05-24 17:31:47 +00:00
brodsom
2f4865a195 Replace defines for constants 2004-04-29 14:51:02 +00:00