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

368 Commits

Author SHA1 Message Date
asfernandes
436b531774 Misc. 2016-01-31 00:06:06 +00:00
hvlad
714e6c2eaf Remove LCK_idx_reserve introduced with 64-bit transaction ID.
Restore original logic in BTR_next_index (wait for tx lock when index build is in progress). 
Use irt_repeat::irt_root to store high 32 bit of tra_num. 
It also fixed deadlock related with LCK_idx_reserve lock (reported privately).
2016-01-27 11:11:38 +00:00
hvlad
64e8e94c24 Correct check for maximum index depth 2015-11-09 21:39:50 +00:00
robocop
dc5a4fdf24 Misc. 2015-10-23 03:08:47 +00:00
dimitr
4e4d8002e5 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2015-10-19 13:32:02 +00:00
alexpeshkoff
139331c7e3 Enhanced memory leaks search - changed FB_NEW to FB_NEW_POOL,
plain new to FB_NEW, making allocated with it blocks tagged with file/line.
Make related code slightly better readable.
2015-10-12 14:26:00 +00:00
asfernandes
224025ff7d Misc. 2015-10-05 01:25:39 +00:00
hvlad
dd0a2ddd4d More checks for b-tree page overflow during inset of new node.
Special care is taken to generate split point so that both new pages do not exceed the page_size.
Handle case when index key is added and split is propagated up to top-level page and former top-level page is a split by concurrent thread meanwhile.
Bugcheck when b-tree level become greater than MAX_LEVEL (16 currently) is replaced by isc_imp_exc error.
Validation code (aka gfix) now check correctness of level assigned to b-tree page (all pages at level should have same value and value should be decremented by one at each level down).
It should fix bug CORE-4914 and related issues.
2015-09-29 10:04:48 +00:00
hvlad
00d91aa91a Postfix for CORE-4904 2015-09-03 21:14:27 +00:00
asfernandes
6cc8feaf64 Misc. 2015-08-16 13:53:57 +00:00
robocop
4037576b9e Misc. 2015-08-13 04:09:55 +00:00
hvlad
a59b64d610 Fixed bug CORE-4904 : Index corruption when add data in long-key-indexed field 2015-08-09 20:57:19 +00:00
dimitr
b4a6d4726d Postfix for CORE-4786: Problematic key value (when attempt to insert duplicate in PK/UK) is not shown where length of key >= 127 characters. 2015-05-31 13:15:55 +00:00
dimitr
5d5c47371a Fixed CORE-4786: Problematic key value (when attempt to insert duplicate in PK/UK) is not shown where length of key >= 127 characters. 2015-05-08 16:46:52 +00:00
hvlad
12d08e7178 Fixed bug CORE-4759 : request synchronization error when build expression index. 2015-04-21 10:39:13 +00:00
alexpeshkoff
16768b177d Be more consistent putting IStatus into fast inline wrapper. Also some syntax sugar as suggested by Dmitry 2015-03-27 17:51:19 +00:00
hvlad
f4f28619dd Additional patch for CORE-4671 : Release internal temporary blobs early to free some memory\disk space
The patch fixed AV when expression indices with blob-based expression is built (see CORE-952, for example)
2015-03-04 10:37:06 +00:00
hvlad
d66a37c86a Improvement CORE-4696 : No need to flush dirty pages to disk after creation of temporary table index 2015-02-22 11:17:25 +00:00
dimitr
a212d550e8 Simplest possible fix for regression CORE-4673: Computed index based on a computed column stores NULL for all its keys. 2015-01-29 15:16:00 +00:00
dimitr
a3151fc71f Better diagnostics. 2015-01-18 09:05:38 +00:00
hvlad
d58252acec While i don't see how we can have positive scale, wrong code should be fixed anyway 2014-07-31 07:54:38 +00:00
dimitr
54e545e545 Misc. 2014-07-30 09:29:44 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
robocop
e59fae0110 Misc. 2014-03-11 06:07:05 +00:00
robocop
aac88ea33d Make BTR_lookup return bool. 2014-02-25 06:30:18 +00:00
robocop
91467819c4 Misc. 2014-02-25 06:29:01 +00:00
dimitr
5be7f9dc28 Better output for CHARs. 2014-01-11 08:54:22 +00:00
dimitr
a149317d89 Improvement CORE-3881: Extend the error reported for index/constraint violations to include the problematic key value. 2014-01-10 07:49:51 +00:00
asfernandes
7bb6f550ee Misc. 2013-12-25 23:36:56 +00:00
hvlad
2e7ca28cce Fixed bug CORE-2165 : Unnecessary 1 index read may occur when using strict inequality condition 2013-12-25 10:59:22 +00:00
hvlad
7ef7eb3467 Additional fix for bug CORE-4302 : Lookup (or scan) in descending index could be very inefficient for some keys 2013-12-25 10:57:27 +00:00
hvlad
b6e00c5cdb Fixed bug CORE-4302 : Descending index could be very inefficient for some keys 2013-12-21 18:46:33 +00:00
dimitr
b3e67aa0cd Misc. 2013-11-12 16:53:39 +00:00
asfernandes
dc99961e8b Misc. 2013-10-13 23:44:57 +00:00
hvlad
cfa78a3137 Improvement CORE-4215 : Execution of SET STATISTICS INDEX statement could block or slow execution of concurrent attachments 2013-09-11 15:39:55 +00:00
dimitr
f018ac4834 Fixed CORE-4127: Server crashes instead of reporting the error "key size exceeds implementation restriction". 2013-06-20 06:45:36 +00:00
asfernandes
24552c4bb2 Misc. 2013-05-12 02:45:54 +00:00
dimitr
ac43e1f2d2 Postfix for my prior commit. 2013-05-06 18:41:59 +00:00
dimitr
c1c5d2b0db Rolled back my patch for CORE-2709. Reworked Adriano's solution for CORE-1188, CORE-3052 and CORE-3239. Both changes affect the stored index keys for compound indices, so beware. 2013-05-06 14:16:52 +00:00
dimitr
af97c12801 Simplified the code and reworked the NULL validation logic. 2013-05-06 12:34:20 +00:00
dimitr
921e28d136 Misc. 2013-05-03 15:01:05 +00:00
dimitr
2cab423897 Simplest fix for CORE-4038: Broken optimization for the stored dbkeys. 2013-01-16 17:08:08 +00:00
dimitr
4ff4290f11 Front-ported bugfixes related to CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. 2012-12-03 11:21:00 +00:00
alexpeshkoff
4ca6e669fe 1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00
asfernandes
57ddc9e81e Fixed three related bugs:
CORE-1188 - Select Starting with :Param (Empty string) doesn't work if using index with many fields
CORE-3052 - Wrong resultset
CORE-3239 - UTF8 UNICODE_CI collate can not be used in compound index
2012-08-28 15:40:18 +00:00
dimitr
3be26e0844 Calculate the index statistics correctly for very large tables. 2012-07-15 12:43:32 +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
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +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
hvlad
2c7bcf94c2 Fixed bug CORE-3841 : Corrupted database after inserting rows.
It should also fix CORE-3839 : Values disappearing from index
2012-05-11 19:39:11 +00:00