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

212 Commits

Author SHA1 Message Date
asfernandes
ed0e0daeb3 - External Engines implementation.
- Plugins API.

- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.

- Fixed CORE-2699 - Common table expression context could be used with parameters.

- Introduce ODS 12.0.

- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
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
97c384d984 Comments. 2009-08-22 12:16:47 +00:00
robocop
f7bf07d9be Style. 2009-07-03 11:02:17 +00:00
robocop
f10e1b72eb Style. 2009-06-27 06:23:36 +00:00
robocop
bb83e70cfe Isolate even more the scrollable cursors-related code. 2009-06-22 08:45:38 +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
hvlad
075f41516f Undo huge and not friendly fix for Sun compiler. Missed file 2009-06-10 13:00:44 +00:00
alexpeshkoff
cf14a23b6f Fixed Sun compiler build 2009-06-10 10:09:01 +00:00
robocop
2d7cb94844 Unused params
Some BLR checks
2009-04-28 13:08:04 +00:00
robocop
888000e21e Unused function params. 2009-04-26 10:24:44 +00:00
robocop
a730fbf074 Get rid of more typedefs. 2009-04-03 10:07:55 +00:00
hvlad
bf294658b3 Report names of failed index and its relation at foreign key index creation. Previously its wrong reported names of partner relation and index.
It fixed CORE-2289 : Do error reporting more meaningfull
2009-01-25 10:08:14 +00:00
asfernandes
ccb27f8537 Misc 2008-12-21 20:06:02 +00:00
robocop
e63b46bb9c There's no need to check whether a pointer is null before applying delete or delete[]. 2008-12-21 03:50:29 +00:00
robocop
95292d1731 Style. 2008-12-20 08:12:19 +00:00
robocop
0a94d6fee8 Style. 2008-12-18 10:57:12 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +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
asfernandes
244ac97e80 Misc 2008-07-21 02:20:41 +00:00
asfernandes
abaa76c0ef Fixed CORE-1989 - UTF8 UNICODE_CI collate can´t be used in foreing key constraint 2008-07-16 14:16:49 +00:00
roman-simakov
e3b81dea18 Misc 2008-07-02 12:22:08 +00:00
roman-simakov
6bff45dc78 Correction 2008-07-02 10:56:00 +00:00
robocop
86cd5672d6 Misc. 2008-07-02 08:47:24 +00:00
asfernandes
ce4bf91533 Misc 2008-07-01 01:12:02 +00:00
roman-simakov
a9203adf92 Patch from Alexander Potapchenko for improvement foreign key handling. Now one can reference to key fields of active record when they are not changed. 2008-06-30 12:23:48 +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
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