8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 23:23:04 +01:00
Commit Graph

185 Commits

Author SHA1 Message Date
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
83d3ddd6cb Replace custom code by helper class ThreadStatusGuard. 2008-04-26 10:29:52 +00:00
dimitr
afb970dba1 1) Cleanup.
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
hvlad
23679a8b04 Fix few race conditions during metadata load and make index lock block accounting more MT safe. 2008-03-05 14:23:19 +00:00
dimitr
0ad3fecc07 Cleanup. 2008-02-27 09:32:16 +00:00
robocop
4c3381ef6b Style, constness and macro cleanup. 2008-02-03 10:41:44 +00:00
dimitr
d1b8bc718f Fixed the bug spotted by Alex. 2008-01-29 17:19:43 +00:00
dimitr
43594ed53a Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:17:19 +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
e08c5da397 The merge continued. 2008-01-16 09:07:24 +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
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
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
1b44f36eda Front-ported RISC-specific fixes. 2007-03-09 08:11:10 +00:00
dimitr
a747534c92 Fixed CORE-1145. 2007-02-28 14:32:01 +00:00
hvlad
a812708bc3 Fix compilation error after change in BTR_evaluate 2006-12-31 12:52:14 +00:00
asfernandes
45357c1581 Misc 2006-12-07 01:02:11 +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
asfernandes
522e76f895 Fixed crashes when create index throw errors - thanks to Dmitry 2006-12-02 14:53:16 +00:00
asfernandes
c580a74796 Complement for the last commit 2006-12-01 14:52:07 +00:00
asfernandes
ac0f122511 Fixed CORE-997 - Database-Update 1.5 to 2.0 fails 2006-12-01 14:36:12 +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
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
af8ecc26ca Solve three problems with arrays:
- Don't allow to apply scalar/subscript syntax to fields that aren't array.
- Detect if we get corrupt database containing array with more than 16 dimensions.
- Reject attempt to subscript array with more than 16 dimensions and thus fix the buffer overrun.
2006-09-10 09:05:40 +00:00
dimitr
e416d25c05 More protections. 2006-07-28 12:11:36 +00:00
dimitr
bbaea14abe Misc. 2006-07-23 11:14:43 +00:00
dimitr
7cc12e8489 1) Reworked memory management in SORT. Now we're pools aware there.
2) Reworked error handling in SORT and its callers.
3) Replaced DLS+SortMem with the generic TempSpace class.
4) Replaced GDS temp file management with the TempFile class.
5) Various cleanup.
2006-05-31 08:53:00 +00:00
robocop
3fa49e994b Style and typo correction. 2006-05-26 05:19:48 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
asfernandes
92cd427bbd Misc 2006-05-23 03:37:00 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +00:00
robocop
136cab1caf Misc. 2006-05-04 02:57:26 +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
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
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
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
c22b637110 Temporary fix for the issue found by Tom Cole. 2005-10-13 08:03:52 +00:00
arnobrinkman
7e65be2991 Fix bug with foreign-key checks that failed due new INTL changes (found with an unrestorable backup) 2005-07-26 22:52:50 +00:00
asfernandes
890494ac7c 1) Fixed SF #1016040 Missing external libraries causes engine exception
2) Use better error messages
2005-06-14 03:16:54 +00:00
dimitr
894fa1e011 Removed unused thread scheduling option. 2005-06-12 06:27:12 +00:00
robocop
286a847b6a Totally misc. 2005-06-12 00:58:51 +00:00
hvlad
8146bb5e41 Fixed SF bug #1186607 (Foreign key relation VARCHAR <-> INT ??????) 2005-06-11 11:39:03 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
robocop
3f0b18df85 Misc. 2005-05-16 09:15:31 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
hvlad
f1d576feb4 Fixed unregistered bug - "index key too big" when creating descending index 2005-05-07 19:45:57 +00:00
hvlad
9826986fb8 Fix bug SF #1076858 2005-02-08 21:23:59 +00:00
hvlad
869f5d7420 Temporary disable precise PK\FK constraints checking logic 2005-02-01 15:02:40 +00:00
arnobrinkman
6e12991438 little optimalization 2005-01-27 15:02:17 +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
e1c3d23bda Misc. 2005-01-22 04:23:37 +00:00
alexpeshkoff
f9898ffb5a fixed my bug with descending indices in referential constraints 2005-01-21 13:49:35 +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
hvlad
13730a72a8 Fixed broken unique index creation found by Adriano dos Santos Fernandes (unique indices can be created with duplicate keys) 2004-11-01 07:51:55 +00:00
robocop
1af636f3c1 Misc. 2004-10-28 04:47:57 +00:00
hvlad
7e01c92e94 More precise check for primary key\unique\foreign key constraints. Second part - expression indexes. Style 2004-10-21 11:45:01 +00:00
robocop
f18fe3b641 a) Two vars in scope.
b) Style.
2004-10-20 00:07:49 +00:00
hvlad
59029fb3e7 More precise check for primary key\unique\foreign key constraints. Code for expression indexes will be commited soon. 2004-10-18 14:46:41 +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
7581e18254 Little simplification. 2004-10-07 08:33:51 +00:00
arnobrinkman
0209cf6c1f bugfix on previous commit 2004-10-06 11:44:03 +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
robocop
f016bbcce7 Delete a comment that I put to signal an ugly cast when calling some VIO functions. Solved by Alex. 2004-09-08 09:38:43 +00:00
dimitr
cc35526b37 Fixed copy'n'paste mistake. 2004-09-03 06:44:11 +00:00
dimitr
a975c23a96 Fixed the context pool management. 2004-09-03 06:10:23 +00:00
dimitr
270841c3e9 More EXPRESSION_INDICES changes. 2004-09-03 05:27:44 +00:00
skidder
56a42f9765 Use slightly more clear messages during FK violations. Patch submitted by Adriano dos Santos Fernandes 2004-08-31 22:29:59 +00:00
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
dimitr
d09aa165db The EXPRESSION_INDICES code now compiles. 2004-08-19 18:41:19 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +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
alexpeshkoff
9a34ce553c make bool (isEmpty/hasData) checks for string and stack safe 2004-05-27 16:26:52 +00:00
brodsom
81d54f25a1 -Replace *_thread_data macros with inline functions (finish) Now each provider/service uses inline functions with different names for each one instead of macros with the same name for all (which collide) 2004-05-24 01:03:41 +00:00
brodsom
bed146ad19 -Replace *_thread_data macros with inline functions (jrd step 2) 2004-05-23 03:18:10 +00:00
robocop
441817bd82 1.- Misc changes
2.- Style
3.- Recover dsc_ttype in dsc after Blas' cleanup as a synonym for dsc_sub_type in text types
2004-05-21 06:16:17 +00:00
brodsom
68cb86b274 - Remove *_THREAD_DATA definitions from thd.h, are unneeded and conflicts with definitions in providers/services main headers (which need to use undef).
- Use different names for each service/provider *_THREAD_DATA macros.
2004-05-19 18:14:29 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
hvlad
2afe197918 Added Stack::iterator::hasMore method. Replaced getCount() and notEmpty() with hasMore() when it's possible 2004-04-23 08:02:52 +00:00
alexpeshkoff
7b27fa55be fixed number problems after lls to Stack conversion 2004-04-21 14:14:36 +00:00
hvlad
3144a997e4 Fixed GC in indexes after replace 'lls' with 'Stack' 2004-04-19 14:53:33 +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
skidder
abdbec6f84 Switch to Firebird container templates for request resource tracking. This significantly reduces CPU time any memory consumption for databases with complex metadata 2004-04-18 02:50:38 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
1e6c7b18e9 fixed problem with loop in includes 2004-03-22 11:38:23 +00:00
alexpeshkoff
695c222ad2 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 15:33:30 +00:00
robocop
958f9e31aa Cleanup
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
b441cd9aef Cleanup 2004-01-13 09:52:19 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
fsg
25a0180642 First changes to get it compiled under linux again.
FSG
2003-12-27 17:59:59 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00