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

324 Commits

Author SHA1 Message Date
dimitr
2760b48e81 Fixed more cases causing a successful completion with a non-empty status vector. 2009-01-23 11:16:31 +00:00
robocop
3689f15321 Style. 2009-01-20 08:33:59 +00:00
robocop
582cdf185b Style. 2009-01-14 09:19:00 +00:00
robocop
21bb7f3d20 Style. 2009-01-03 09:14:29 +00:00
robocop
6406e45337 Shut up compiler warnings (unreferenced vars, uninitialized vars, compile-time conditional code, etc.) 2009-01-02 06:36:12 +00:00
asfernandes
5311dd5a5e Misc 2008-12-20 19:57:43 +00:00
robocop
9c9e4e9b0b There's no need to check whether a pointer is null before applying delete or delete[]. 2008-12-20 08:16:55 +00:00
robocop
ff99dc3d46 Style. 2008-12-18 10:47:25 +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
dimitr
5ac621c954 Let's not hide the line number of a particular bugcheck call behind a dummy function. 2008-10-14 13:09:48 +00:00
asfernandes
843df670d7 Misc 2008-10-11 02:42:01 +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
hvlad
97bf925499 Use fb_utils::init_status instead of status[0] = 0 2008-09-10 11:41:36 +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
roman-simakov
59ae35d837 Style 2008-08-13 09:02:35 +00:00
hvlad
53f21b34c8 Fixed bug CORE-1970 : Lock conversion denied (215) error may occurs 2008-07-17 12:49:19 +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
asfernandes
4822c30c70 Misc 2008-06-06 22:40:15 +00:00
robocop
94224d3300 Totally misc. 2008-06-06 08:51:03 +00:00
robocop
b8ea332022 Misc. 2008-06-05 11:02:42 +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
ad8ce57050 Enabled page latching code for [Super]Classic. This solves most of the synchronization issues between worker thread and ASTs. 2008-06-04 13:22:59 +00:00
dimitr
f84ad12e33 Misc. 2008-05-14 09:21:01 +00:00
robocop
89a57960db Cleanup. 2008-05-11 12:27:51 +00:00
hvlad
422338e5e3 Lock att_mutex in Attachment's constructor 2008-05-08 07:45:19 +00:00
dimitr
0a9e8c8382 Implemented CORE-1751. The changes include:
1) Make memory counters aggregated.
2) Add attachment pool and allocate appropriate resources out of this pool.
3) Always release attachments explicitly (via destructor).
4) Always delete user requests prior to attachment deletion.
5) Introduce memory usage counters per every monitoring object.
6) Misc refactoring.
Some pieces are still incomplete (although everything basically works), but I'd like to get feedback and testing sooner rather than later.
2008-05-06 08:46:39 +00:00
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