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

379 Commits

Author SHA1 Message Date
hvlad
a75e0af175 Fixed bug CORE-5302 : Performance regression when bulk inserting into table with indices 2016-07-07 15:35:33 +03:00
Adriano dos Santos Fernandes
e69a823efa Improvement CORE-749 - Increase maximum length of object names to 64 characters. 2016-06-10 16:41:22 +00:00
Adriano dos Santos Fernandes
fbba8ad798 Misc. 2016-05-26 14:59:03 -03:00
Dmitry Yemanov
fbd7bd86da Add missing index depth protection during index creatiion + new error
code/message.
2016-05-15 16:07:44 +03:00
Dmitry Yemanov
08c42cb080 Rework fast_load() local structures to achieve a clearer code. Reduce
number of runtime allocations. Restore the original (before MAX_KEY
increase) stack requirements.
2016-05-15 12:41:45 +03:00
Dmitry Yemanov
decab0d0b4 Fix page numbers datatype + misc cleanup & adjustments. 2016-05-15 12:41:44 +03:00
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