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

252 Commits

Author SHA1 Message Date
alexpeshkoff
eea9070f48 Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster 2007-12-03 15:46:39 +00:00
paulbeach
7602a29b94 HPUX Port 2007-11-12 14:26:44 +00:00
asfernandes
f3ba6d4fa5 Misc 2007-08-29 02:33:35 +00:00
hvlad
8de5dd7342 Fixed bug CORE-1361 : Index operations for global temporary tables are not visible for the active connection 2007-08-28 20:17:36 +00:00
asfernandes
4cc5949028 Misc 2007-08-05 19:56:27 +00:00
hvlad
e196a9e42f Fixed bug CORE-1401 : Global temporary table instance may pick up not all indices 2007-08-02 20:20:16 +00:00
hvlad
04f367d0d2 Fixed CORE-1300 : Lower level index pages in missed from parent page 2007-06-02 12:15:18 +00:00
hvlad
512a33e0c0 Fixed CORE-1299 : Wrong index entries order at non-leaf b-tree pages 2007-06-02 12:10:40 +00:00
hvlad
f3163f9295 Fixed CORE-1298 : BTR\garbage_collect code can make a deadlock in a page cache 2007-06-02 12:07:52 +00:00
hvlad
13cfb0e2f6 Correct error handling in index creation code when no space left on disk 2007-04-25 20:54:36 +00:00
asfernandes
f676883248 Misc 2007-04-21 03:27:36 +00:00
robocop
0a0213ff84 Totally misc. 2007-04-19 07:51:22 +00:00
hvlad
7b020a53ba Fixed bug CORE-1215 : Wrong SELECT query results using index to evaluate >= condition 2007-04-18 10:47:10 +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
dimitr
a72f56ea4b Misc. 2007-02-08 14:03:41 +00:00
hvlad
2e343c74ef Implement improvement CORE-1069 : Optimize index scan when more than one index scanned and ANDed 2006-12-27 21:01:02 +00:00
robocop
9a61c5185f Totally misc. 2006-12-19 08:36:48 +00:00
alexpeshkoff
8896a21641 frontported fixes from 2.0 2006-12-15 17:30:41 +00:00
alexpeshkoff
f86fef0c48 Fixed CORE-1053 2006-12-14 16:20:35 +00:00
hvlad
f206c67d12 Fixed CORE-1040: Wrong single-segment ascending index on character field with NULL and empty string values 2006-12-06 09:37:25 +00:00
dimitr
543fc5e0d1 Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment. 2006-10-31 15:59:23 +00:00
hvlad
c747acbbaa Fixed CORE-952: AV when blob is used in expression index 2006-10-17 11:03:20 +00:00
robocop
870b1a0363 Misc. 2006-10-08 06:43:59 +00:00
dimitr
988782a96a 1) A new class to handle aggregated multi-level performance counters.
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
robocop
581d251c82 Misc: idx_id is already USHORT. 2006-09-15 07:24:31 +00:00
hvlad
04051ab102 Fix for CORE-895: possible unique index violation 2006-08-12 17:21:55 +00:00
hvlad
8d7cd54229 Correction to the fix :) 2006-06-01 16:28:38 +00:00
hvlad
029706631f Fixed unregistered FB2 bug:
endless loop when exception during index's expression evaluation occured
2006-06-01 16:25:30 +00:00
robocop
7040d668fd Misc. 2006-05-25 08:40:23 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
asfernandes
24d936cd70 Misc 2006-05-22 01:29:06 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +00:00
asfernandes
292ad66e96 Misc 2006-05-20 01:53:51 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
8c66a4883a 1) Fixed wrong ALL results in the ODS11 optimizer.
2) Fixed SF #527681 -- Strange/Inconsistent query results
2006-05-17 19:15:41 +00:00
asfernandes
eb77ff3709 Misc 2006-05-01 02:26:10 +00:00
dimitr
b8342226e6 Const'ness. 2006-04-30 15:11:50 +00:00
alexpeshkoff
469589f573 Use Firebird::Array instead of STL's vector 2006-04-25 17:49:24 +00:00
robocop
d74438baed Fix the discordant data types between flags and the vars used to work with them (really dangerous if the flag is USHORT and you hold it in a UCHAR). Also, get rid of some debris of the uppercased typedefs. 2006-04-19 07:10:53 +00:00
hvlad
6cf18cc072 Bug fix: don't use page buffer after page was released - it can be replaced
by another page and may lead to serious corruptions
2006-04-18 12:45:22 +00:00
robocop
c5f2284b15 Style. 2006-04-06 08:18:53 +00:00
dimitr
5010e6b0cb Fixed the bug that caused unexpected bugcheck(205) in big databases. 2006-03-29 15:26:24 +00:00
robocop
10cb928ddc More cleanup. 2006-02-23 06:52:25 +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
hvlad
47ac2b981a bugfix 2006-02-08 10:11:46 +00:00
robocop
1ca7a582f9 EXPRESSION_INDICES code is considered stable and therefore there's no need to keep it protected by macros. Please do a full rebuild. 2006-01-14 07:00:44 +00:00
dimitr
2e258f4cf9 Fixed BUGCHECK(205) related to ODS11 index changes. 2006-01-08 08:21:46 +00:00
robocop
c76a021f70 Misc. 2005-11-29 06:18:06 +00:00
hvlad
80827a5284 1. Move IDX\eval_expr_idx into BTR_eval_expression
2. Replace similar code in BTR_key by new BTR_eval_expression
3. Use EXE_find_request in index expression evaluation to avoid AV in case of using index simultaneously in some connections
2005-11-28 21:43:06 +00:00
robocop
85c48cb387 Misc. 2005-10-28 04:15:09 +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
dimitr
48a377cd7a Fixed server crashes caused by buffer overruns if too big index key was used. 2005-09-30 08:48:17 +00:00
robocop
6c89683142 Totally misc. 2005-07-31 00:45:38 +00:00
arnobrinkman
0725746548 Fix scope problem reported by Konstantin 2005-07-29 10:42:38 +00:00
arnobrinkman
14f667f4b6 Fix bug SF #1242982
Equality search on first segment (integer) in compound indexes resulted
in more scans on specific values (2^n, f.e. 131072) then needed.
2005-07-24 18:32:29 +00:00
dimitr
894fa1e011 Removed unused thread scheduling option. 2005-06-12 06:27:12 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
hvlad
7fd4f64863 Correct previous fix for multisegment descending indexes 2005-05-08 09:43:36 +00:00
hvlad
f1d576feb4 Fixed unregistered bug - "index key too big" when creating descending index 2005-05-07 19:45:57 +00:00
hvlad
493bdd92cd Correct index validation code. Big thanks to Arno 2005-05-03 15:45:23 +00:00
hvlad
565b5e173b Undo my previous commit. Duplicate chains in not null keys in unique indexes not sorted by design. Changes must be done in index validation code 2005-05-01 19:23:04 +00:00
hvlad
735f369d76 Duplicate chains not sorted by record number in unique indices 2005-04-30 10:10:48 +00:00
dimitr
92dbd6ae59 More complete fix for DESC indices. 2005-02-22 06:32:35 +00:00
arnobrinkman
11a7710b92 Fix segment-selectivity values for descending indexes, reported by Dmitry Yemanov 2005-02-21 20:07:24 +00:00
hvlad
5247ca5bab Fix AV when expression index is created 2005-02-10 13:37:05 +00:00
hvlad
9826986fb8 Fix bug SF #1076858 2005-02-08 21:23:59 +00:00
arnobrinkman
a3b6944a75 Fix duplicate checking for unique indexes 2005-01-27 14:33:58 +00:00
robocop
8d4b89723f Welcome to paranoid programming. 2005-01-25 06:33:07 +00:00
dimitr
567fafa30c Fixed expression indices bugs. 2005-01-24 09:35:47 +00:00
robocop
229d08b927 Misc. 2005-01-22 04:16:55 +00:00
alexpeshkoff
f9898ffb5a fixed my bug with descending indices in referential constraints 2005-01-21 13:49:35 +00:00
arnobrinkman
eddac3c767 Fix index bug when a single NULL with recordnumber 0 was 2 times removed.
Due this the LevelNode was removed, which of course may never happen.
2005-01-03 19:24:48 +00:00
robocop
4012106884 Misc. 2004-12-25 09:44:03 +00:00
robocop
d65307b497 Style. 2004-12-24 08:52:39 +00:00
skidder
f44f06d085 Fix the memory leak from transaction pool when selectable stored procedures are called from PSQL or in subqueries 2004-12-07 01:19:55 +00:00
robocop
6c7f268dbd Style. 2004-12-04 06:50:38 +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
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
robocop
795a70df00 const. 2004-10-20 00:09:39 +00:00
dimitr
421f259a4e 1) Locks related cleanup
2) Got rid of TRA_nowait + transaction waits related cleanup
3) Return isc_lock_timeout when it's necessary
TODO: Enhance SET TRANSACTION
2004-10-07 09:15:32 +00:00
robocop
cad2990b6e Make comment clear 2004-10-02 09:26:21 +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
9d63050cf4 bugfix in delete_node
litlle optimization in compress() function
2004-09-27 22:42:56 +00:00
robocop
d293b51c50 Things that don't change are const 2004-09-25 10:19:50 +00:00
arnobrinkman
3a5cec7e97 1) Add filename and linenumber to loginformation for ERR_BUGCHECK
2) Fix some index bugs and little refactoring
2004-09-24 00:11:32 +00:00
robocop
4c48615dc5 Style 2004-09-15 03:46:33 +00:00
dimitr
a975c23a96 Fixed the context pool management. 2004-09-03 06:10:23 +00:00
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
robocop
3a45a04ea7 MSVC6 doesn't keep variables in a for() only in that scope. This standard construction is rejected:
for (int i = ...);
for (int i = ...);
Put the variable again before the loops to be able to compile.
2004-08-27 04:46:01 +00:00
brodsom
15a5a276da Fix signed/unsigned comparisons 2004-08-26 21:47:19 +00:00
dimitr
9d37131978 Fixed a server crash I introduced recently. 2004-08-23 18:45:40 +00:00
arnobrinkman
2260f712f9 add missing initializations 2004-08-22 01:00:51 +00:00
dimitr
cfb0e2eb5a More asserts and some style changes. Thanks to Claudio. 2004-08-20 07:55:09 +00:00
dimitr
f84006b483 Cosmetics. 2004-08-20 07:18:16 +00:00
dimitr
89a31cdd07 Make EXPRESSION_INDICES generally working. 2004-08-20 04:04:06 +00:00
dimitr
d09aa165db The EXPRESSION_INDICES code now compiles. 2004-08-19 18:41:19 +00:00
skidder
faabb4b9b4 Fix some of the problems in new indices code noted by Valgrind. These fixes are result of discussion with Arno. But indices are still broken; Arno promised to fix remaining stuff from this area during next weekend 2004-08-19 00:48:11 +00:00
dimitr
ca4ea54a1e Small optimization of multiple OR booleans (or a constant IN predicate).
The idea is to use a single sparse bitmap for an index matching and hence avoid OR'ing bitmaps for every argument value.
Ported from Yaffil.
2004-08-17 17:52:19 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00