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

75 Commits

Author SHA1 Message Date
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
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
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
dimitr
7d802db4f5 Avoid metadata lookups while retrieving the plan (especially important in ASTs). 2014-07-30 09:50:33 +00:00
asfernandes
3a87224281 Warnings and make Linux debug build compile. 2014-02-18 01:49:07 +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
24552c4bb2 Misc. 2013-05-12 02:45:54 +00:00
dimitr
af97c12801 Simplified the code and reworked the NULL validation logic. 2013-05-06 12:34:20 +00:00
dimitr
05c27aa212 Integrated the jumping information natively into the index bucket.
WARNING: This is an ODS change, databases must be recreated.
2012-03-14 14:33:41 +00:00
dimitr
ea73eb8935 Misc. 2012-01-08 09:40:58 +00:00
dimitr
bccfda7aa6 Misc. 2011-02-15 07:32:56 +00:00
dimitr
a59dc809a0 Misc. 2011-02-12 08:59:55 +00:00
alexpeshkoff
f89ac854ef Getting ready to use 32 (not 31) page and transaction numbers 2011-01-21 17:55:04 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +00:00
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +00:00
asfernandes
a3064848d6 Make ExprNodes and RecordSourceNodes reference others directly instead of via jrd_nod.
Store ValueExprNodes instead of jrd_nod in the metadata cache.
Make RecordSourceNode child of ExprNode as they share most operations.
Get rid of the JRD visitors in favor of direct calls.
Convert assignments statement lists created inside expressions to separate source and targets ValuesExprNodes.
2010-11-21 03:47:29 +00:00
asfernandes
4763533669 Refactor jrd_req into JrdStatement (shared part) and jrd_req (execution of a statement).
Fixed some bugs found in the way.
2010-04-18 22:19:11 +00:00
dimitr
1c9adc5300 Cleanup. 2010-04-06 16:26:27 +00:00
dimitr
de48af30a7 Cleanup. 2010-01-28 10:46:40 +00:00
dimitr
11495a55fb Refactored the whole RSB stuff into classes. They're inside the /recsrc sub-directory now.
Fixed the layering for WITH LOCK and (partially) ANY/ALL predicates.
Cleaned up the outdated code that never worked (mapping DISTINCT to an index, some VMS remainings).
Wiped out a lot of the pre-ODS11 optimizer logic. Some minor adjustments there.
Re-implemented the full outer join from scratch. This resolves CORE-2678 (full outer join cannot use available indices).
Resolved CORE-2796: DB_KEY is always zero for external tables.
Implemented the core part of the scrollable PSQL cursors. Implementation is still incomplete, but ready for testing.
Some other changes I don't recall at the moment ;-)

WARNING! The engine may be unstable. Please email me about any issues found.
2009-12-09 18:45:44 +00:00
asfernandes
d81d9da928 Misc 2009-09-25 02:17:08 +00:00
hvlad
6fde607f41 Fixed bug CORE-2616 : page 1530262 is of wrong type (expected 7, found 5) 2009-09-24 21:05:45 +00:00
robocop
f3fdc5b5c7 Give idx_id and associated values a consistent data type and treatment. 2009-06-21 06:04:18 +00:00
robocop
a958da87f5 Style. 2009-06-21 05:46:51 +00:00
alexpeshkoff
b9db12c676 Solaris port 2009-05-27 11:32:59 +00:00
alexpeshkoff
bd680bcb47 Solaris port 2008-12-28 15:26:05 +00:00
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +00:00
robocop
e44a99f339 Style and minor cleanup. 2008-05-10 03:44:57 +00:00
hvlad
259fafa647 Implement CORE-1819 : More efficient solution for CORE-1300 2008-04-02 23:46:59 +00:00
dimitr
f5659c0b70 1) Major cleanup of the old-style blk and allocator-based blk_type.
2) Added synchronization for the JRD locks.
2008-03-19 16:19:56 +00:00
hvlad
8bfa87d892 Let store plain 64-bit record number in index_sort_record (and in sort scratch file) and became independent of additional fields of RecordNumber class.
Also pack index_sort_record structure to avoid compiler added padding which unnecessary grow sort scratch file
2007-03-20 18:02:10 +00:00
robocop
1f84bac700 Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc. 2006-02-23 05:08:26 +00:00
robocop
f00fc0ff56 1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
hvlad
15ac3a9f47 Fixed SF #223060
Slow processing of GREATER-THEN operator
2005-10-27 21:52:17 +00:00
hvlad
0216a3d2f5 Don't allow to create primary key constraint on non-null fields with null values.
For example:

create table buggg (f1 int not null, f2 int not null);
commit;

insert into buggg values (1, 1)
commit;

alter table buggg add pk int not null primary key;
or
alter table buggg add constraint pk_buggg primary key (pk)
or
alter table buggg add constraint pk_buggg primary key (f1, f2, pk)
2005-10-26 15:11:51 +00:00
hvlad
08c8843d5c Correction 2005-08-10 13:36:42 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
hvlad
ff69a28ece Don't check uniqueness for null keys - this leads to big waste of time 2004-12-03 07:55:32 +00:00
arnobrinkman
36f0cc2527 fix problem with duplicate keys and wrong second recordnumber order in IDX_create_index 2004-10-05 21:09:51 +00:00
skidder
02a0915156 Teach engine to work with larger record numbers - 64-bit internally, 40-bit externally 2004-09-28 06:28:38 +00:00
arnobrinkman
5c1e32de9e Bugfix with dates below Julian date and old code removed 2004-08-07 16:44:05 +00:00
arnobrinkman
401fb7d12f 1) Fix starting with and empty string index problem where empty string is passed in parameter. (STARTING WITH ?) ? = ''
2) New index structure ensures that NULLs cannot hold the same key-value as a data value.
3) Ignore NULLs already on scanning index where possible.
2004-07-15 23:01:12 +00:00
brodsom
ebd158a5b1 Comment unused macro 2004-05-02 22:36:35 +00:00
brodsom
2f4865a195 Replace defines for constants 2004-04-29 14:51:02 +00:00
alexpeshkoff
045e9dc8ec 1. removed any mentions of blk_pool() from engine (and method itself)
2. replaced 'struct lls' with 'template Stack'
2004-04-18 14:22:27 +00:00
alexpeshkoff
0acfd46d50 better memory allocation for csb_idx_allocation 2004-04-04 08:25:40 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
7007d6f2a4 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 14:57:40 +00:00
robocop
958f9e31aa Cleanup
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00