alexpeshkoff
ae92789faf
Fixed bugs noticed by Claudio
2009-05-05 07:27:20 +00:00
asfernandes
38a2912669
Misc
2009-05-03 21:57:13 +00:00
robocop
60ba0586dd
Undo two of Alex' suspicious or wrong changes until he can return and rethink them.
2009-05-02 13:05:29 +00:00
robocop
66b1227b22
Unused params, some formatting, cleanup.
2009-05-01 17:21:36 +00:00
alexpeshkoff
8c983fec26
Fixed alignment issues with on-stack vary strings
2009-04-29 14:00:32 +00:00
asfernandes
f6f364da49
Trim trailling spaces
2009-04-04 16:39:31 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
robocop
fab6a3a6cf
Get rid of superflous parentheses.
2009-02-28 11:57:40 +00:00
asfernandes
7ba3e7d0e5
Misc
2009-02-11 01:32:09 +00:00
hvlad
1f8e353154
Comment my recent (not obvious) change
2009-02-09 15:12:55 +00:00
asfernandes
1105286dee
Misc
2009-02-07 15:20:34 +00:00
hvlad
f4544ce4a0
Performance : use stack allocation when possible
2009-02-06 19:38:48 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
asfernandes
296f170224
Misc
2009-01-04 20:32:35 +00:00
asfernandes
79e89d573d
Misc
2009-01-03 19:02:04 +00:00
hvlad
8646bad2f9
Fixed bug CORE-2241 : Wrong number of records fetched when using index
2009-01-02 09:49:50 +00:00
robocop
6406e45337
Shut up compiler warnings (unreferenced vars, uninitialized vars, compile-time conditional code, etc.)
2009-01-02 06:36:12 +00:00
asfernandes
5c97a235e3
Misc
2008-12-24 00:32:49 +00:00
robocop
2fadc0e456
Style.
2008-12-22 09:00:05 +00:00
asfernandes
5311dd5a5e
Misc
2008-12-20 19:57:43 +00:00
robocop
9c9e4e9b0b
There's no need to check whether a pointer is null before applying delete or delete[].
2008-12-20 08:16:55 +00:00
robocop
ff99dc3d46
Style.
2008-12-18 10:47:25 +00:00
robocop
511c7eb7d8
Promote thread_data* as function argument.
2008-12-14 10:19:27 +00:00
asfernandes
8fbf0e8e8c
Remove trailing spaces (.cpp files)
2008-12-05 01:20:14 +00:00
dimitr
3b03866f7e
This change is intended to make the engine responsible to async requests (shutdown, cancellation, etc) while performing long index scans.
2008-09-16 10:27:30 +00:00
alexpeshkoff
13a15d4bfe
1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
...
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
alexpeshkoff
a2e416210b
Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
...
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
robocop
b629df88ff
Correction for logic error (it worked by pure coincidence).
2008-06-05 10:56:14 +00:00
robocop
8a28565ea7
Misc.
2008-05-08 08:19:50 +00:00
dimitr
e0c6d0e13d
Fixed CORE-1812.
2008-05-06 09:40:22 +00:00
hvlad
7970d15d65
A little correction and more explanations in comment
2008-04-03 11:13:20 +00:00
asfernandes
f0299cfb29
Misc
2008-04-03 01:11:26 +00:00
hvlad
259fafa647
Implement CORE-1819 : More efficient solution for CORE-1300
2008-04-02 23:46:59 +00:00
hvlad
f672d51a14
Avoid manipulations with TDBB_use_db_page_space flag in jrd_rel::getPagesInternal
2008-04-02 13:55:10 +00:00
dimitr
de8514ea4c
Cleanup/refactoring.
2008-03-19 11:39:25 +00:00
alexpeshkoff
39896cb955
Fixed CORE-1671: atexit() calls in client libraries cause segfaults
...
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory
To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.
Also some related cleanup.
2008-01-23 15:52:40 +00:00
dimitr
db7d3ecd4c
The merge continued.
2008-01-16 08:31:31 +00:00
hvlad
e833be6785
Correction for fix for CORE-1199. Thanks to Claudio
2007-12-17 07:36:46 +00:00
hvlad
37e3128777
Fixed bug CORE-1199 : Firebird SS: internal gds software consistency check (CCH_precedence: block marked (212), file: cch.cpp line: 3640)
2007-12-16 20:14:53 +00:00
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
arnobrinkman
5c1e32de9e
Bugfix with dates below Julian date and old code removed
2004-08-07 16:44:05 +00:00
robocop
507f53d9bd
Style and misc
2004-07-22 07:15:10 +00:00
arnobrinkman
cd36ca6e05
fix bug in ignore_nulls part
2004-07-20 18:57:42 +00:00
arnobrinkman
945fefb3b2
When we ignore NULLs in the index then we must already skip them very efficiently from the start.
2004-07-16 01:30:33 +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
robocop
1bbb740b98
Undo inheritance in ODS page types as requested by Nickolay. Either some macros are too silly or the compiler is limited by the standard here.
...
Notice I may have missed some file that's not compiled in Win32.
2004-07-10 03:20:33 +00:00
skidder
f4e7ebdd3b
Implement rudimentary framework to track lifetimes of active BLOBs.
...
This solves the following issues:
1) Outrageous memory consumption when blobs are converted from strings during request processing
2) Materialization doesn't cause invalidation of BLOB IDs too early.
Original behaviour caused errors with updatable views or procedures receiving BLOB arguments.
2004-06-22 20:13:10 +00:00
alexpeshkoff
1591a54e5e
Thread cleanup:
...
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
brodsom
64c1dee04e
-Use C++ struct declaration style.
2004-05-24 17:31:47 +00:00
brodsom
bed146ad19
-Replace *_thread_data macros with inline functions (jrd step 2)
2004-05-23 03:18:10 +00:00
brodsom
f4ca41fa3d
-Replace *_thread_data macros with inline functions (jrd step 1)
2004-05-22 14:28:54 +00:00