dimitr
8e36474f76
More explicit (and shorter) life-time for sort blocks. Now they belong to either requests (user sorts) or transactions (index sorts).
...
This also resolves CORE-2477: mon$memory_usage: Sorting memory should be reported as owned by the statement.
2009-09-04 06:11:55 +00:00
robocop
abae34b092
We never handled ODS_VERSION7 (see FB1 for example). Thanks Dmitry.
...
Rework code for readability.
2009-08-24 10:21:14 +00:00
robocop
17cefa486e
Comments.
2009-08-21 08:54:56 +00:00
robocop
f7b2032c31
Typo repeated.
2009-06-27 11:12:49 +00:00
robocop
f10e1b72eb
Style.
2009-06-27 06:23:36 +00:00
robocop
d82f063395
Style.
2009-06-26 04:12:20 +00:00
robocop
48377f4e35
Convert goto into a for() loop.
2009-06-25 10:59:10 +00:00
asfernandes
097b0ca2c2
Misc
2009-06-25 02:29:13 +00:00
robocop
bb83e70cfe
Isolate even more the scrollable cursors-related code.
2009-06-22 08:45:38 +00:00
robocop
c9feb04a8a
Simplification.
2009-06-21 08:32:55 +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
asfernandes
bbb06eca72
Fix assertion at INTL due to much longer buffer
2009-05-06 16:34:18 +00:00
dimitr
93be80a4aa
Fixed CORE-2449: Unexpected "lock conflict" error can be thrown instead of other (expected) exception.
2009-05-05 09:32:45 +00:00
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