hvlad
b636315561
Improvement CORE-3656 : Support for sweep information in Trace API.
...
Fixed case when sweep cleaned up relation with all records deleted but corresponding event was missed in trace log.
2012-09-04 11:35:16 +00:00
hvlad
9124f5e188
Front ported improvements
...
CORE-3656 : Support for sweep information in Trace API, and
CORE-2668 : Write note into log when automatic sweep is started
Also per-table stats is enabled at transaction level (see thread_db::bumpRelStats)
2012-08-02 08:55:21 +00:00
dimitr
42a4c93b97
1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
...
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
asfernandes
07557dc297
Misc.
2012-05-26 18:05:56 +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
70d5ebdfdf
- Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
...
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
hvlad
24d152138d
Refactoring of runtime statistics and related classes:
...
- moved relation's counters into RuntimeStatistics.h
- renamed RuntimeStatistics::bumpValue to RuntimeStatistics::bumpRelValue and thread_db::bumpStats to thread_db::bumpRelStats to make things more clear
- removed not obvious cast in VIO_bump_count
- removed dependency of RuntimeStatistics.h from ntrace.h
2012-04-11 09:38:19 +00:00
alexpeshkoff
4e795f4047
Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports.
2012-03-01 08:55:43 +00:00
robocop
21cd78a0fd
Cleanup: unused functions, parameters & variables.
2012-01-24 03:37:43 +00:00
dimitr
f0112290c6
Disallowed deletions from RDB$DATABASE. This fixes the only problematic part of CORE-3735: Unprivileged user can delete from RDB$DATABASE, RDB$COLLATIONS, RDB$CHARACTER_SETS. The implemented solution could be used to protect other system tables from direct modifications.
2012-01-20 10:23:31 +00:00
asfernandes
c44c548f8c
Corrections and cleanup.
2012-01-09 00:08:33 +00:00
dimitr
e956e2e6c0
1) Restricted ALTER/DROP permissions to the object owners only. Now this applies to domains, charsets, collations, generators and exceptions. This fixes CORE-304: Metadata security hole - any user can alter/drop generators and exceptions.
...
2) Opened the gates to implement the standard USAGE privilege (CORE-2884). SQL support and validation logic are still to be developed.
3) Added the grant option to the owner permissions for packages, procedures and functions.
4) Misc cleanup and refactoring.
2012-01-08 14:05:29 +00:00
dimitr
aa4e36e0d6
Correction.
2011-12-01 09:37:25 +00:00
dimitr
e3fb73cdca
Attempted to fix CORE-3490: Concurrency problem when using named cursors. The solution may look sub-optimal but it doesn't seem to affect the performance.
2011-12-01 09:24:59 +00:00
dimitr
d542f5ac88
Fixed the races leading to a crash during dbb finalization. Thanks to Adriano for assistance.
2011-11-01 04:02:59 +00:00
asfernandes
906ea4729e
Misc.
2011-10-27 01:04:14 +00:00
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
asfernandes
eb5689ef0e
Misc.
2011-10-07 02:33:02 +00:00
hvlad
ca1a67992c
Return explicit sign of active transaction from VIO_get_current() - it makes logic more clear in check_duplicates() and allows to clear transient lock error from status vector and not propagate up to the callers.
...
Cleanup : removed my old disabled code (checking for old and new values) and restored original code in check_duplicates().
2011-10-03 11:27:46 +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
hvlad
fb36296224
Port forward fix for bug CORE-3610 : Can insert DUPLICATE keys in UNIQUE index
2011-09-29 12:34:07 +00:00
dimitr
b100b395eb
Being a little bit more paranoid doesn't hurt.
2011-09-22 18:15:21 +00:00
dimitr
031339406c
Methinks it's more correct from the scoping POV.
2011-09-21 17:49:49 +00:00
dimitr
809fba5ec9
Reworked the garbage collector thread:
...
- a single try-catch block looks better
- cross-helping between GC and CW/CR threads is agreed to be a bad idea
- replaced ATT_disable_gc_notify with a check inside notify_garbage_collector()
- made the logic more straightforward
Careful review would be appreciated.
2011-09-21 07:59:15 +00:00
hvlad
652200448a
Port forward fix for bug CORE-3557 : AV in engine when preparing query against dropping table
2011-07-16 10:41:27 +00:00
asfernandes
47489fa71b
Misc.
2011-06-26 18:48:00 +00:00
robocop
1c250c02eb
Misc.
2011-06-25 03:40:18 +00:00
hvlad
f12c243e1c
Improvement CORE-3537 : There is no need to undo changes made in GTT created with ON COMMIT DELETE ROWS option when transaction is rolled back.
2011-06-24 12:54:46 +00:00
hvlad
f2aaa12ce5
Improvement CORE-3536 : Garbage collection in GTT is unnecessary delayed by active transactions in another attachments
2011-06-24 12:49:08 +00:00
hvlad
7c68e15a0f
Delete deferred work when savepoint is cleaned up after failure even if no records was modified. Else DFW task will be repeated at commit making system tables logically inconsistent.
2011-06-24 12:03:32 +00:00
robocop
5ad96271e6
Misc.
2011-06-24 06:34:16 +00:00
hvlad
81cec16f83
Fixed leak of SysAttachment instance. Noted by Claudio.
2011-06-13 11:09:19 +00:00
asfernandes
add3d8ddef
Misc.
2011-06-08 01:55:13 +00:00
hvlad
945a1bdbf4
Fixed bug CORE-3515 : Index corruption. Validation put "missing entries" message into firebird.log
2011-06-05 08:15:33 +00:00
dimitr
df893a708d
Better (I hope) solution for CORE-3058: New generators are created with wrong value when more than 32K generators was previously created. It also resolves the [temporary] inability to restore generator values.
2011-06-01 16:58:55 +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
3ce54d2eda
Misc.
2011-05-11 01:18:28 +00:00
hvlad
fef1f49c94
Shared page cache implementation
2011-05-09 10:15:19 +00:00
dimitr
4b3033c013
Better locality of allocations. This also fixes a tiny memory leak in SuperServer.
2011-04-05 05:36:05 +00:00
robocop
82403a5621
Misc, style, etc.
2011-04-02 04:45:26 +00:00
asfernandes
e4658d76c3
Misc
2011-03-20 16:24:46 +00:00
hvlad
58a55cc813
Improvement CORE-3399 : Allow write operations to temporary tables in read only transactions
2011-03-19 13:10:51 +00:00
dimitr
d68affa114
More complex fix for CORE-3374: Server may crash or corrupt data if SELECT WITH LOCK is issued against records not in the latest format. It involves upgrading the record to the current format, like UPDATE does.
2011-03-05 17:33:01 +00:00
asfernandes
72b7e83082
Misc
2011-02-26 19:05:09 +00:00
asfernandes
87ec1ad31c
The (bad) definition of fb_assert cause this code to not work in clang. It's a surprive if it works in MSVC.
2011-02-25 15:28:10 +00:00
hvlad
07e245ab1b
Implement improvement CORE-3362 : Cursors should ignore changes made by the same statement
2011-02-25 12:26:57 +00:00
dimitr
7a405a4eea
Fixed CORE-3058: New generators are created with wrong value when more than 32K generators was previously created.
2011-02-17 06:05:16 +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