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

373 Commits

Author SHA1 Message Date
hvlad
c95aaf9300 Place expression index support routines where it should be.
Add protection from changes while expression index is built.
Remove PCMET module.
2016-05-12 14:03:01 +03:00
Dmitry Yemanov
f2d0b64ba2 Misc adjustments after CORE-5232 and more encapsulation for the Lock
class.
2016-05-10 10:44:30 +03:00
James Clarke
0dc0a4b595 Fix locking on big-endian architectures
4e4d8002e5 extended locks to have 64-bit
keys in most cases, but some were left as 32-bit. However, code using
these 32-bit locks assumed that the significant bytes of the key's long
value started from lck_string[0], which is false on big-endian
architectures.  This commit adds Lock::getKeyString(), which gets a
pointer to the first used byte of lck_string, and should be used in
place of accessing lck_string directly.
2016-05-07 22:09:09 +01:00
Adriano dos Santos Fernandes
d7eb6fe4d0 Fixed CORE-5167 - Allow implicit conversion between boolean and string. 2016-04-04 14:49:44 -03:00
Adriano dos Santos Fernandes
f58ecf78b4 Fixed CORE-5166 - Wrong error message with UNIQUE BOOLEAN field. 2016-03-28 12:47:39 -03:00
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