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

149 Commits

Author SHA1 Message Date
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
robocop
d020ea5ca1 ping-pong cleanup: change one place and you have to change several others 2003-12-11 10:33:30 +00:00
robocop
84062732d8 More cleanup 2003-12-03 08:19:24 +00:00
alexpeshkoff
8615d07160 Fixed use of descending index as table's primary key.
Problems were related with referencing such table in foreign key.
2003-12-02 15:08:10 +00:00
arnobrinkman
710037031f Enhanced Index Structure.
1) NULLs on top when sorting on ASC index, DESC stays the same.
2) Support for larger index lengths, can be up to 1/4 page size.
3) Store record-number on non-leafpages for faster lookup in many duplicates.
4) Jump-nodes for faster key-lookup in index on larger page-sizes.
5) Segment selectivity calculation added.
2003-12-01 02:37:25 +00:00
dimitr
f99e3373d4 Let's support segment-level selectivities. Amen. 2003-11-30 21:14:30 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
robocop
db77ffa605 const correctness, variables in scope, cleanup, etc. 2003-11-07 08:06:35 +00:00
brodsom
89e8f89f86 Extern "C" cleaning 2003-11-06 03:03:36 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
dimitr
ff61d54e73 Slightly reworked one of the previous bugfixes. 2003-11-01 11:29:14 +00:00
dimitr
b3f672ddf4 A bit more cleanup. 2003-09-28 18:49:21 +00:00
dimitr
5a276faa13 Fixed bug in the cleanup after unsuccessful index creation. 2003-09-28 15:39:10 +00:00
dimitr
12bbed6075 Don't waste time counting duplicates for non-unique indices. 2003-09-28 14:41:58 +00:00
dimitr
e4931f66b6 Fixed bug in unique indices. 2003-09-28 14:03:10 +00:00
arnobrinkman
7e024c858e Remove IGNORE_NULL_IDX_KEY define.
Still to go : nav.cpp, nav_proto.h, ods.h, dba.epp
2003-09-16 23:19:46 +00:00
brodsom
8c0cc95124 Fix indents 2003-09-13 12:03:11 +00:00
skidder
b05dc24810 Forward port removal of artificial index number limitation from 1.0.3.
Fix bug in dbb_max_idx calculation. Do not port GC and metadata versioning
changes as they seem very dangerous to me.
2003-08-18 21:13:56 +00:00
skidder
bdbeb38959 Avoid storing and using pointers allocated from one request pool
in other requests. Make request access lists use view ID, not pointer
to view structure. This changes solve the crash reported by
Evgeny Kilin when altering complex recursive procedure->trigger chains.
2003-08-14 20:45:36 +00:00
brodsom
daf2d5ff2c -Fix cast warnings
-Fix signed/unsigned comparison warnings
-Fix format warnings
-Add MinGW 3.0 rc header
2003-08-09 21:15:32 +00:00
dimitr
2182b34d60 Bugfix for RI failure in foreign keys. 2003-05-29 11:59:49 +00:00
dimitr
70076a7da7 Another fix for index corruption. Shouldn't affect anything else this time. 2003-05-27 14:59:13 +00:00
skidder
524fc1a641 Fix up lock manager. Clean AST invocation. Fix type of lrq_flags to match its value. Backout my logic for fast deadlock detection as it breaks engine in several places 2003-05-16 20:35:19 +00:00
skidder
8fbe3f2d29 Fix up the reason of slowdown of Windows CS 2003-03-24 14:41:42 +00:00
skidder
b68242f571 Fix up engine to work with multi-field foreign constraints again after nulls handing changes in unique indices 2003-03-09 21:07:29 +00:00
dimitr
d6932d887d Allowed NULLs in unique indices. 2003-03-05 11:23:08 +00:00
dimitr
b096a2593d CONST -> const 2003-02-13 10:11:35 +00:00
hippoman
9a8f0768b9 Changed struct fld and FLD to local module names 2002-11-30 17:45:02 +00:00
hippoman
4a76e9e4fe change TRA,REQ,TRG,REL,CTX or PRC, to module local names. 2002-11-17 00:13:59 +00:00
dimitr
6c80fa5718 Some changes to support future improvements. 2002-11-16 17:41:12 +00:00
skidder
6d64014e57 Changed engine to store source file name/line number information for EVERY allocation when DEBUG_GDS_ALLOC is defined. All allocation should be done using FB_NEW or FB_NEW_RPT macros instead of keyword new since now 2002-09-25 17:12:16 +00:00
tamlin
2a3a320010 Cleanup and bugfixing 2002-03-31 00:40:08 +00:00
tamlin
80f7fb6dd4 New C++ memory pool 2001-12-24 02:51:06 +00:00
skywalker
365a7fe19c Changes to compile fb2 under autoconf includes some structural changes 2001-07-29 17:42:23 +00:00
bellardo
747d13c0d5 Changes to bring FB2 to c++ on *nix. 2001-07-12 05:46:06 +00:00
tamlin
9a776a604e First steps towards a C++ conversion. 2001-05-23 13:26:42 +00:00