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

296 Commits

Author SHA1 Message Date
hvlad
adc1ed0f03 Let cache_writer also lock its own attachment during execution 2008-05-04 21:25:56 +00:00
skidder
3d8af77572 Fix regression CORE-1876. Incremental backups with NBACKUP broken in 2.1 2008-05-01 01:40:22 +00:00
robocop
53bf05282d Misc. 2008-04-26 14:35:12 +00:00
roman-simakov
dda2676ba5 1. Fixed unlocking header page while CCH_release. Thanks to Vlad.
2. Fixed writing page while nbackup merge state is stalled.
3. Fixed using dead dbb in AST handler while somebody is changing cached lock of the GlobalRWLock.
2008-04-16 09:16:45 +00:00
roman-simakov
a202daf6bb Replaced nbackup dirty pages locking with RAII classes 2008-04-16 08:46:13 +00:00
dimitr
2f41d8e8ba Corrections for the currently disabled code. 2008-04-02 12:42:09 +00:00
robocop
882955f5c3 const. 2008-03-29 13:01:49 +00:00
asfernandes
a930424d27 Fix the build 2008-03-19 15:55:11 +00:00
dimitr
26e92220d3 Cleanup/refactoring. 2008-03-19 11:46:47 +00:00
dimitr
ebad313cfd 1) Fixed CORE-1788.
2) Protected from other similar deadlocks.
3) Refactoring.
2008-03-13 14:20:32 +00:00
dimitr
afb970dba1 1) Cleanup.
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
robocop
2912e6a5be Cleanup and misc. 2008-03-10 08:44:07 +00:00
robocop
10d74a7642 Style. 2008-02-13 12:57:04 +00:00
asfernandes
11b869588d Misc 2008-02-08 01:25:41 +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
robocop
4c3381ef6b Style, constness and macro cleanup. 2008-02-03 10:41:44 +00:00
asfernandes
de8771570f Misc 2008-01-29 01:36:41 +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
dimitr
db7d3ecd4c The merge continued. 2008-01-16 08:31:31 +00:00
roman-simakov
406a8cc3bf small fix debug code under NBAK_DEBUG 2008-01-14 16:22:43 +00:00
asfernandes
41faeba3cc Misc 2007-12-05 00:03:15 +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
dimitr
1a64b5214c Fixed CORE-1601. 2007-11-19 10:29:59 +00:00
dimitr
0e6c8c9abe Moved the engine checkout/checkin logic from CCH to PIO. This allows to avoid hacks like usage of SCH_check_thread_enter(). 2007-09-25 11:47:39 +00:00
hvlad
a576160b7a Restore correct error message formating 2007-09-19 20:35:33 +00:00
dimitr
97a45d4704 Removed the asserts. 2007-09-05 06:44:12 +00:00
alexpeshkoff
6d66c28b13 Fixed solx86 build - not always offset_t and UINT64 are the same 2007-08-10 07:55:46 +00:00
alexpeshkoff
ea8ba3370d Cleaned up mutexes - removed MUTX_T and related macros 2007-06-06 12:37:24 +00:00
mkubecek
9aa6368cc2 C++ specification does not allow unbraced linkage specification with storage class (and neither does GCC 4.1.2) 2007-05-20 12:34:36 +00:00
asfernandes
97843da8a3 Misc 2007-05-20 03:25:52 +00:00
robocop
5f3d9bbd54 Misc. 2007-05-18 06:15:26 +00:00
hvlad
18e0b65d96 Add missed THREAD_ENTER calls 2007-05-17 08:31:03 +00:00
hvlad
f40e794951 Implement improved dirty pages flush algoritm 2007-05-17 07:17:11 +00:00
robocop
b7446d9c64 Misc. 2007-05-16 06:53:47 +00:00
dimitr
533e28ce6c Fixed CORE-1249 plus minor corrections for the single-user shutdown mode.
The change in CCH allows to report isc_shutdown instead of the LM error code in Classic (GFIX depends on this behaviour).
Also, refactored the SHUT logic a bit to assert on unexpected shutdown modes.
2007-05-08 08:31:48 +00:00
hvlad
a640aee5de Few small fixes :
Removed not needed includes
Stop tracking precedence for temporary pages
THREAD_EXIT\THREAD_ENTER while page writes into nbackup delta file
Temporary pages was not written to disk in BACKUP state (nbak_state_stalled)
2007-05-04 22:10:11 +00:00
skidder
8539ceb992 Small NBAK performance optimization from Rom
an Simakov
2007-05-04 21:25:04 +00:00
dimitr
512bb7abca Misc. 2007-05-01 06:48:20 +00:00
hvlad
8befd31986 Continue Nickolay's refactor : use clear_page_dirty_flag 2007-04-27 06:49:55 +00:00
asfernandes
c722690150 Misc 2007-04-27 02:28:57 +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
hvlad
31af74fbf6 Fixed bug CORE-1228 : Database often became corrupted after an out of disk space condition 2007-04-25 20:45:03 +00:00
dimitr
9dd5a0efca Minor cleanup. 2007-04-25 06:32:54 +00:00
asfernandes
676b447138 Misc 2007-04-25 02:26:33 +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
d63491e3c5 Finished gcc-warnings cleanup 2007-04-11 16:05:40 +00:00
alexpeshkoff
6e735f7c53 Misc + gcc warning hunting 2007-04-09 16:15:29 +00:00
robocop
e71a03261c This is the full SafeArg implementation for getting rid of the fixed parameter types in the messages db. Alas, the legacy messages (before FB2.1) can't be changed in number of arguments neither the types of arguments sent by callers of the MsgPrint family or the fb_msg_format functions can be changed because old clients know these legacy messages and would crash. 2007-03-28 04:20:36 +00:00
alexpeshkoff
8b2abbdb65 fixed correct logic, broken by my last commit 2007-02-24 11:28:51 +00:00
robocop
63a80b0db6 Misc. 2007-02-23 05:55:37 +00:00
asfernandes
d87a30bf0c Misc 2007-02-23 01:42:10 +00:00
alexpeshkoff
dfef55e991 Fix for CORE-968 - Assertion failure in posix/isc_ipc.cpp 2007-02-22 16:47:39 +00:00
dimitr
15c3681d8a Fixed CORE-1135. 2007-02-22 14:12:04 +00:00
robocop
409ff041dd Misc and replaced "IB" by "FB" where it made sense to me. 2007-02-11 09:04:54 +00:00
dimitr
fd7a702e7d Optimization. Removed redundant NBAK calls (they are pretty expensive). 2007-02-08 14:01:53 +00:00
asfernandes
90337587ff Misc 2007-02-08 00:03:36 +00:00
dimitr
ecc261de7c Cleanup. 2007-02-06 08:03:43 +00:00
dimitr
f042dc9f8f Fixed CORE-1121. This time the fix itself is separated from the cleanup to make the reviewers happy.
The changes are identical to my previous commit into B2_0_Release.
2007-02-06 07:47:59 +00:00
alexpeshkoff
a13e291d5f front-ported fox for CORE-1098 2007-01-18 15:50:18 +00:00
dimitr
5af8f3c3a9 Fixed CORE-1039. 2006-12-04 21:26:43 +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
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
robocop
e77a46b011 Misc. 2006-05-20 03:55:54 +00:00
asfernandes
292ad66e96 Misc 2006-05-20 01:53:51 +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
dimitr
233aef595a gds_alloc() no longer throws exceptions. Let's handle it properly. 2006-04-05 04:36:23 +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
97122ee389 Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary. 2006-02-03 08:39:36 +00:00
robocop
25c08aea67 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Eighth step: dbb_refresh_ranges belongs to the obsolete functionality and since it's never set but tested in cch.cpp with two AND, the whole condition will be always false, hence remove the code.
2006-02-02 07:57:36 +00:00
dimitr
a5a967c648 Little cleanup. 2006-01-05 10:10:37 +00:00
hvlad
ddc489f6f0 Restored accidentally committed wrong file 2005-12-26 21:17:16 +00:00
hvlad
52086cd806 Avoid frequent (unneeded and inefficient) allocation \ deallocation of stack entryes 2005-12-26 21:13:03 +00:00
hvlad
9d6b361f69 Eliminate unnecessary JRD_get_thread_data call in nbak.
Checked against B2_0_BV_Stable3 branch
2005-11-21 23:33:20 +00:00
skidder
699c914cbf little debug logging improvements 2005-07-19 23:27:38 +00:00
hvlad
3e5ce4257d Temporary fix to prevent 100% cpu load in case of write failure 2005-02-17 07:29:50 +00:00
robocop
8d4b89723f Welcome to paranoid programming. 2005-01-25 06:33:07 +00:00
dimitr
4ef8631580 Cleanup. 2005-01-24 07:58:34 +00:00
robocop
af6a16107a Misc. 2004-11-30 06:18:39 +00:00
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
robocop
628b088d2c Treat string literals and string constants with more respect. 2004-11-10 04:26:45 +00:00
alexpeshkoff
6e89d3e6d8 avoid warnings in gcc 2004-11-07 14:30:38 +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
dimitr
6f6e76f102 Some checks as suggested by Claudio. 2004-10-03 12:16:45 +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
dimitr
3a043cf1dd Some minor corrections, as suggested by Claudio. 2004-10-01 09:45:55 +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
hvlad
828a0615a1 Fix 100% CPU use by cache_writer in some rare cases 2004-09-27 08:31:20 +00:00
dimitr
b01c48b381 Fixed my yesterday's commit once more. 2004-09-27 06:53:02 +00:00
dimitr
1faae184d4 Fixed my today's commit. 2004-09-26 12:00:37 +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
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
dimitr
dee57f98e5 Removed unused JOURNAL remains and make database statistics working again. 2004-08-29 11:24:19 +00:00
robocop
b60c0e4cab Misc: format 2004-08-21 09:29:46 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
robocop
1bbb740b98 Undo inheritance in ODS page types as requested by Nickolay. Either some macros are too silly or the compiler is limited by the standard here.
Notice I may have missed some file that's not compiled in Win32.
2004-07-10 03:20:33 +00:00
skidder
8f0cf89afb Correct problems with single-user maintenance mode (note it is used for GBAK restore process now) 2004-06-12 01:06:05 +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
alexpeshkoff
9a34ce553c make bool (isEmpty/hasData) checks for string and stack safe 2004-05-27 16:26:52 +00:00
brodsom
81d54f25a1 -Replace *_thread_data macros with inline functions (finish) Now each provider/service uses inline functions with different names for each one instead of macros with the same name for all (which collide) 2004-05-24 01:03:41 +00:00
brodsom
bed146ad19 -Replace *_thread_data macros with inline functions (jrd step 2) 2004-05-23 03:18:10 +00:00
brodsom
f4ca41fa3d -Replace *_thread_data macros with inline functions (jrd step 1) 2004-05-22 14:28:54 +00:00
brodsom
68cb86b274 - Remove *_THREAD_DATA definitions from thd.h, are unneeded and conflicts with definitions in providers/services main headers (which need to use undef).
- Use different names for each service/provider *_THREAD_DATA macros.
2004-05-19 18:14:29 +00:00
brodsom
b76a60e8b7 Move THREAD_ functions from thd.h to thread_proto.h (and fix unix build) 2004-05-17 22:30:09 +00:00
brodsom
36d6d40469 Macro cleaning 2004-05-17 10:22:34 +00:00
brodsom
ee34db7e20 Macro cleaning (THREAD_*) 2004-05-15 00:58:46 +00:00
brodsom
dc6303c8c6 -Correct parameter type (page_type)
-Macro cleaning
2004-05-14 17:03:20 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
brodsom
8965c65959 Unused macro 2004-05-05 14:01:32 +00:00
brodsom
4a9a3c54e0 Remove values in defines used only for conditional compilation 2004-05-04 19:16:43 +00:00
brodsom
fbbc61156f -Fix another incredibly stupid legacy variable naming, variable name = struct name. 2004-05-03 13:35:38 +00:00
brodsom
2f4865a195 Replace defines for constants 2004-04-29 14:51:02 +00:00
brodsom
5cf9fdfc90 Removing ib_stdio.h 2004-04-28 22:43:34 +00:00
alexpeshkoff
7b27fa55be fixed number problems after lls to Stack conversion 2004-04-21 14:14:36 +00:00
alexpeshkoff
045e9dc8ec 1. removed any mentions of blk_pool() from engine (and method itself)
2. replaced 'struct lls' with 'template Stack'
2004-04-18 14:22:27 +00:00
robocop
59b235cea3 Small corrections 2004-04-10 00:25:22 +00:00
robocop
68c038d132 More cleanup. Get rid of obsolete files, too. 2004-03-30 08:34:14 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
1e6c7b18e9 fixed problem with loop in includes 2004-03-22 11:38:23 +00:00
alexpeshkoff
695c222ad2 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 15:33:30 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
alexpeshkoff
67f1740fea Various cleanup to make engine compile and work after mentioned earlier changes.
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
skidder
b6e5ccd413 Clean up.
1. gds__alloc doesn't throw
2. Add NOMEM handlers to a couple places
3. kill HAVE_*SNPRINTF conditionals
2004-03-09 00:17:07 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
dc7aab8f9c Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed 2004-03-01 03:35:23 +00:00
skidder
2c4fe73bd4 Implement new shutdown modes (single-user and full shutdown). Tested on Linux/AMD64 CS and SS 2004-02-25 01:50:40 +00:00
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
robocop
2b295a9108 General cleanup. Sorry if I missed some occurrence. 2004-01-28 07:50:41 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
b441cd9aef Cleanup 2004-01-13 09:52:19 +00:00
skidder
b3b58e0410 Fix bug introduced during C->C++ porting effort.
One of the consequences of this bug were mentioned in the SF#750664
2004-01-09 01:06:12 +00:00
robocop
06a4df3708 A requiem for JOURNAL and WAL.
Instructions in the list.
2004-01-06 10:33:18 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
robocop
d020ea5ca1 ping-pong cleanup: change one place and you have to change several others 2003-12-11 10:33:30 +00:00
robocop
b02c629735 Cleanup
Some name changes
Try to fix SINIX-Z problems with send() prototype
2003-12-05 10:35:47 +00:00
arnobrinkman
710037031f Enhanced Index Structure.
1) NULLs on top when sorting on ASC index, DESC stays the same.
2) Support for larger index lengths, can be up to 1/4 page size.
3) Store record-number on non-leafpages for faster lookup in many duplicates.
4) Jump-nodes for faster key-lookup in index on larger page-sizes.
5) Segment selectivity calculation added.
2003-12-01 02:37:25 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
brodsom
89e8f89f86 Extern "C" cleaning 2003-11-06 03:03:36 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
aafemt
900fa62a1d 'struct' cleanup 2003-10-20 10:53:52 +00:00
robocop
480c1ee968 const correctness 2003-10-08 08:42:48 +00:00
brodsom
64c31be213 extern cleaning
removing underscores in macros
DLL_EXPORT cleaning
2003-10-03 01:34:14 +00:00
skidder
15d92c921d Remove outdated comment 2003-09-15 16:17:55 +00:00
skidder
2d3d855c9f Make NBACKUP work on Windows 2003-09-13 18:35:39 +00:00