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
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