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

371 Commits

Author SHA1 Message Date
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
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
00c5d74904 Cleanup. 2009-12-13 13:49:43 +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
robocop
409ab220b0 - Eliminate the LOG page.
- Eliminate the useless bumped transaction
- Close the gaps in flags related to indices (btr_* in ods.h)
- Close the gaps in header page clumplets types (HDR_* in ods.h)
- Close the gaps in header page flags (hdr_* in ods.h)
Please do a full rebuild.
2009-11-28 08:04:04 +00:00
robocop
6b58626584 Cleanup. 2009-11-27 06:57:17 +00:00
robocop
804ad6048a Restrict us to ODS11 and ODS12 until the dust settles down. 2009-11-24 11:42:56 +00:00
robocop
1386adcf90 Style. 2009-11-16 08:06:31 +00:00
asfernandes
ed0e0daeb3 - External Engines implementation.
- Plugins API.

- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.

- Fixed CORE-2699 - Common table expression context could be used with parameters.

- Introduce ODS 12.0.

- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
asfernandes
9c1918d39b Misc 2009-10-15 02:15:31 +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
99ddf76ef8 Comments. 2009-08-23 11:43:25 +00:00
alexpeshkoff
4fe226c84d Much better fix for CORE-2590, thanks to Dmitry Yemanov 2009-08-19 07:49:37 +00:00
asfernandes
ae6c7e7352 Misc 2009-08-14 01:58:22 +00:00
alexpeshkoff
289f84d777 Fixed CORE-2590: SegFault in page AST routine under high load 2009-08-13 12:46:20 +00:00
robocop
d82f063395 Style. 2009-06-26 04:12:20 +00:00
robocop
eca8ad1a4d bool, style. 2009-06-07 10:16:41 +00:00
robocop
e920037b8a Misc. 2009-06-06 09:05:20 +00:00
robocop
e5b226f7a7 More unused params; style. 2009-05-02 13:00:09 +00:00
robocop
66b1227b22 Unused params, some formatting, cleanup. 2009-05-01 17:21:36 +00:00
asfernandes
1c20adb8fc Misc 2009-04-29 01:52:49 +00:00
robocop
2d7cb94844 Unused params
Some BLR checks
2009-04-28 13:08:04 +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
robocop
fab6a3a6cf Get rid of superflous parentheses. 2009-02-28 11:57:40 +00:00
dimitr
0cb4e923cd 1) Cleanup the legacy page op counters (they're redundant now).
2) Return 64-bit values in the information buffer, if required.
2009-02-05 20:12:30 +00:00
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