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

378 Commits

Author SHA1 Message Date
robocop
a730fbf074 Get rid of more typedefs. 2009-04-03 10:07:55 +00:00
hvlad
d62242470b Fixed AV in boot build. 2009-03-15 20:09:15 +00:00
hvlad
145fe79c84 Release database triggers in MET_clear_cache 2009-03-15 18:04:04 +00:00
robocop
fab6a3a6cf Get rid of superflous parentheses. 2009-02-28 11:57:40 +00:00
hvlad
5a1aac379b Fixed bug CORE-2293 : Wrong dependent object type (RELATION) in RDB$DEPEDENCIES for VIEW's 2009-01-26 13:44:16 +00:00
robocop
3689f15321 Style. 2009-01-20 08:33:59 +00:00
dimitr
df4744cc07 My extra check becomes more and more complicated to be proven correct while it protects from a purely theoretical issue that was never observed yet.
So I've decided to restore the condition to its original state.
2009-01-18 20:03:30 +00:00
dimitr
41da071448 Fixed unreliable error handling in MET_procedure(). 2009-01-06 17:39:04 +00:00
robocop
2c6dcd5f38 Booleans. 2009-01-02 09:48:57 +00:00
dimitr
b44189150a A quick fix for CORE-2257: Internal consistency check while altering dependent procedures.
To be reviewed some day, along with the whole ALTER mechanism.
2008-12-29 18:40:45 +00:00
dimitr
2b87e94242 Use explicit iterators instead of the implicit (built-in) ones due to the thread-safety requirements.
This change affects GenericMap only, as it's used globally in a few places and we have a proven crash there.
I have a more complete solution (total cleanup of default accessors from BePlusTree and SparseBitmap) in my local tree (thanks to Dmitry Kovalenko), but it's incomplete (requires more changes inside the engine) and IMHO risky (~20 core modules are affected), so I'd like to defer finalization of this cleanup till v3.0.
All objects of these types seem being protected by dbb_sync, so they shouldn't cause us any problems currently.
2008-12-19 14:57:01 +00:00
robocop
0a94d6fee8 Style. 2008-12-18 10:57:12 +00:00
robocop
e4650d5027 Promote thread_data* as function argument. Only exception where both tdbb and dbb were left together as arguments is nbak.cpp's call to CCH_rollover_to_shadow to avoid any side effect in the changed code, but anyway, that function calls SDW_rollover_to_shadow that takes the dbb from the tdbb and not explicitly. 2008-12-14 09:28:25 +00:00
alexpeshkoff
d8ea120ded AIX port - use FB_ prefix for alignment constants 2008-11-05 11:26:23 +00:00
hvlad
905708b4f2 Fixed bug CORE-2098 : View over global temporary table 2008-10-09 20:07:37 +00:00
alexpeshkoff
a06ae8dd0c 1. Fixed illegal use of local variable in MET_trigger_msg() - thanks to Claudio.
2. Fixed minor bug - use of MetaName in PAR_symbol_to_gdscode() was illegal
cause maximum length of error name can be up to 32 symbols,
which does not fit into MetaName limit (31). And we already have 4 such names!
2008-09-03 11:23:00 +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
dimitr
c58544e6d5 Attempt to fix CORE-210: "CS server crash altering SP in 2 connect" and implement CORE-2052: "Allow the Classic Server to see the altered stored procedure immediately after the modifier transaction commit" with a single change. 2008-08-25 05:28:50 +00:00
asfernandes
6a5e1cc144 Fixed CORE-1894 - Circular dependencies between computed fields crashs the engine 2008-08-08 16:01:58 +00:00
asfernandes
e3d0de7cf1 Fix bug - missing isc_arg_cstring 2008-08-03 20:52:37 +00:00
asfernandes
12d3f6106a Do not update RDB$DEPENDENCIES in system transaction, to be consistent with most of metadata updates and as work in progress for possible solution for CORE-1894 2008-07-21 15:49:24 +00:00
asfernandes
ce4bf91533 Misc 2008-07-01 01:12:02 +00:00
dimitr
50adebd7e7 Fixed CORE-1965: Lock manager crash (invalid lock ID) under concurrent DDL load. 2008-06-27 12:11:09 +00:00
dimitr
5dd403dffa Rolled back some of my prior changes because of the found regression. 2008-06-26 15:22:01 +00:00
dimitr
74fe420b29 Rolled back my minor prototype changes as requested by Claudio. 2008-06-26 12:28:36 +00:00
dimitr
ee312b0920 Final part of the solution for CORE-1938: fixed synchronization. 2008-06-26 11:20:41 +00:00
dimitr
438dec11d6 1) Keep rel_name for dropped relations in order to report errors properly.
2) Throw an error when the relation cannot be locked because of being already dropped.
3) Don't release the existence lock before RDB$RELATIONS is cleaned up.
This is the first part of the changes intended to fix CORE-1938.
2008-06-26 10:48:28 +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
asfernandes
ee7a3f5930 Misc 2008-05-13 01:29:38 +00:00
hvlad
85aed9d302 Make ViewContext::vcx_context_name able to store more than 31 chars as was discussed in fb-devel. Thanks to Claudio for the tips. 2008-05-11 21:27:21 +00:00
robocop
89ebe8c4bc More meaningful name for input param. 2008-05-06 09:00:59 +00:00
dimitr
f5659c0b70 1) Major cleanup of the old-style blk and allocator-based blk_type.
2) Added synchronization for the JRD locks.
2008-03-19 16:19:56 +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
alexpeshkoff
25a8cc2647 Fixed FK constraints - thanks to Vlad 2008-03-04 13:13:19 +00:00
asfernandes
e88fd596d9 Let DSQL cache lock logic in SS too - per Dmitry request 2008-03-03 15:40:56 +00:00
robocop
925ad77ad4 Correction. 2008-03-02 07:35:37 +00:00
asfernandes
35688cd5d9 Cleanup: remove y-valve functions DSQL_CACHE and INTL_FUNCTION 2008-03-01 19:14:46 +00:00
dimitr
99caa91b85 DSQL integration into the engine. 2008-02-28 13:48:16 +00:00
robocop
a002cd3837 Comment unused code. 2008-02-14 12:21:35 +00:00
asfernandes
691fb487d8 Misc 2008-02-06 00:43:54 +00:00
dimitr
402d0c564f My other changes for check partners. For Vlad's review. 2008-02-05 13:55:21 +00:00
alexpeshkoff
ee6c433597 Mutexes cleanup:
1. Make all firebird mutexes recursive.
2. Enable exceptions to be thrown by mutexes and process them in code where needed.
3. Catch and ignore exceptions in various MutexGuard dtors.
2008-02-05 08:21:18 +00:00
robocop
4c3381ef6b Style, constness and macro cleanup. 2008-02-03 10:41:44 +00:00
dimitr
33d31b3d0f Rolled back my "partner check" changes upon Vlad's request. But one minor change is still done to avoid races in SS. To be reviewed after the CS build is fixed. 2008-01-31 13:36:11 +00:00
dimitr
a38b327886 Cleanup. Get rid of the JrdMemoryPool. 2008-01-29 10:11:52 +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
asfernandes
b772cc15de Eliminate warning 2008-01-16 14:26:28 +00:00
dimitr
48e81dd58a The merge is being fixed. 2008-01-16 12:22:11 +00:00
dimitr
d1e8f67a5d The merge continued. 2008-01-16 09:29:37 +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
alexpeshkoff
cc1c031fe4 Rolled back latest commit - it breaks gdef's logic, when field_id starts with 1, not 0 2007-10-31 13:59:09 +00:00
asfernandes
1706ea36d3 Backport patch to make references (at BLR level) to non-existent system fields return NULL - to simplify ODS differences handling 2007-10-14 01:32:24 +00:00
robocop
fa1538a1ae Minor changes in MetaName usage. 2007-08-26 09:05:29 +00:00
asfernandes
a568843ccd Fixed CORE-1395 - Few problems with domains's check constraints 2007-08-04 02:11:07 +00:00
dimitr
e8f33e1fd4 Fixed CORE-1344. 2007-07-04 16:07:55 +00:00
asfernandes
b7a1aea1c9 Fixed problem of not storing dependencies for database triggers - reported privately by Dmitry 2007-04-03 15:41:00 +00:00
robocop
e71a03261c This is the full SafeArg implementation for getting rid of the fixed parameter types in the messages db. Alas, the legacy messages (before FB2.1) can't be changed in number of arguments neither the types of arguments sent by callers of the MsgPrint family or the fb_msg_format functions can be changed because old clients know these legacy messages and would crash. 2007-03-28 04:20:36 +00:00
hvlad
b3dcfede36 Close external table's file when relation is not used by the engine.
This is simplest fix for bug CORE-132 (Restore fails on external table) and CORE-961(Free external tables)
2007-03-19 21:34:52 +00:00
asfernandes
cec7eaa8b6 Some changes based on Claudio's comments 2007-01-21 15:35:35 +00:00
asfernandes
f30ee6b63e Use debug informations in EXECUTE BLOCK 2007-01-20 14:18:18 +00:00
asfernandes
aca179f398 Full domain support and NOT NULL in PSQL 2007-01-17 01:19:01 +00:00
asfernandes
0939d86a57 Some suggestions from Claudio 2006-11-11 00:52:31 +00:00
asfernandes
11838b0601 Misc 2006-11-06 01:07:31 +00:00
asfernandes
570b6cd4b4 1) CORE-645 and CORE-745: Database triggers
2) CORE-711: Make syntax for "CREATE TRIGGER" compliant with SQL2003
2006-11-05 18:30:36 +00:00
robocop
fb0cd24854 Put two recent hardcoded messages into the msg db. 2006-11-05 04:01:30 +00:00
asfernandes
a02716c63f Misc 2006-11-04 02:47:33 +00:00
hvlad
f48f2af25b Few corrections pointed by Claudio 2006-11-03 09:42:42 +00:00
asfernandes
88a9a84a01 Misc 2006-10-31 14:23:31 +00:00
hvlad
58d381edd7 1. Remove blr_src_info code as it is prevents database downgrade from ODS 11.1
2. Put debug information (mapping between blr offset and source line\column and names of local variables) into new blob field RDB$DEBUG_INFO
This is first step to implement native SQL debugger i believe
2006-10-30 20:58:06 +00:00
aafemt
e6151fd57f Warnings 2006-09-01 10:51:57 +00:00
asfernandes
dc2f6ed0d9 Correction 2006-09-01 01:40:22 +00:00
robocop
56d19d8f53 Centralize detection of those pesky implicit domains.
There may be more cases that can use the new function.
2006-08-31 08:01:24 +00:00
robocop
7fced64a88 Misc. 2006-08-30 04:54:44 +00:00
asfernandes
7d4af708ab Don't store dependencies on auto-generated domains of procedure parameters.
TYPE OF parameters is already catched by the BLR parser.
2006-08-29 12:16:49 +00:00
asfernandes
b7af27215e Allow usage of domains in PSQL (with TYPE OF syntax) 2006-08-19 02:52:39 +00:00
robocop
471d052e82 Misc. 2006-08-13 06:46:16 +00:00
asfernandes
e538061c38 Implementation of CREATE/DROP COLLATION and ISQL show/extraction of collations 2006-08-07 16:39:21 +00:00
dimitr
afc71df176 Fixed CORE-866. 2006-07-23 11:01:20 +00:00
dimitr
93b8e4a6e5 More format overflow checks. 2006-07-20 09:11:44 +00:00
dimitr
6992f3b904 Reject attempts to select from executable procedures. 2006-07-19 14:50:33 +00:00
dimitr
c68587fe66 1. Virtual tables
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
asfernandes
50cae9632b Misc 2006-07-12 01:38:41 +00:00
robocop
4c0b816568 CORE-847
Deleting dependencies for fields that WERE computed.
2006-07-11 04:57:28 +00:00
robocop
5a796f0b4e Misc. 2006-07-09 05:08:23 +00:00
dimitr
9642e605b6 The callers check for "< 0" but we never could return a negative value. -1 has been converted to 65535 before returning. 2006-06-06 17:00:55 +00:00
dimitr
b116dd382c Fixed bug reported by Adriano. 2006-06-01 04:45:48 +00:00
dimitr
0b7e4c9812 Misc. 2006-05-31 12:04:55 +00:00
robocop
3fa49e994b Style and typo correction. 2006-05-26 05:19:48 +00:00
robocop
7040d668fd Misc. 2006-05-25 08:40:23 +00:00
hvlad
614443f90d Refactor common code and constants 2006-05-24 20:43:07 +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
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
robocop
c5f2284b15 Style. 2006-04-06 08:18:53 +00:00
asfernandes
7923390e54 Allow collation IDs greater than 127 2006-04-05 16:34:18 +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
044c5841ad Misc. 2006-02-10 03:28:43 +00:00
dimitr
9a6ce8b2d1 Fixed SF #1404215. 2006-01-13 09:33:40 +00:00
dimitr
38e34a43ba Fixed SF #1191206. 2005-12-12 13:58:19 +00:00
robocop
5a80bcbfe1 I think I solved the code that puzzled John three years ago: procedure parameters ids start at zero, but we were allocating num_of_params plus one for both input an output params. This explains why when iterating we ignored the last element of the vector containing them. Crap that we inherited from IB. 2005-12-04 05:32:25 +00:00
robocop
e2f440a374 Finish Mike work after 3 years. :-) 2005-12-03 06:43:19 +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
alexpeshkoff
62a24d46e4 1. Moved data structures, written to database file, into ods.h.
2. Added new types of clumplets to ClumpletReader and ClupmletWriter.
3. Applied modified ClumpletReader and ClupmletWriter to /remote and partially /jrd.
4. Added active protection from remote brute-force attack to services API.
2005-11-27 20:53:09 +00:00
hvlad
44aa29e6ee Fixed unregistered bug with DROP DEFAULT reported in fb-devel by "Robert" 2005-11-21 17:55:04 +00:00
dimitr
5d34721f04 Let's load real system triggers from the database, not the ones hardcoded in trigs.h.
Otherwise weird things happen when we access a database with older ODS.
2005-10-13 08:11:37 +00:00
dimitr
2820fbe7e1 More checks for uncommitted DDL. 2005-09-14 12:02:13 +00:00
robocop
66f466d3a9 Misc. 2005-07-08 03:25:31 +00:00
hvlad
0bc1c4bf49 1. Allow to create FK constraints without exclusive database locking
2. Fix 'partner index not found' error when one process dropped FK and another trying to delete master record
3. misc changes in vio.cpp
2005-06-26 21:48:47 +00:00
asfernandes
888174719e Misc. 2005-06-08 02:09:46 +00:00
dimitr
a92091c38c Removed code remains from before-MetaName times. 2005-06-07 10:20:23 +00:00
robocop
b8d1f00f94 - Corrections and changes to Adriano's commit, subject to his inspection.
- Solved an endless loop with trim and zero-length trim characters, etc.
- Some places are signaled with FB_COMPILER_MESSAGE for prompt attention.
2005-06-06 08:30:03 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
robocop
e3039572d8 - Solve char/UCHAR mismatch.
- Track dependencies on indices mentioned in explicit plans for procedures and vierws.
2005-05-26 04:00:45 +00:00
robocop
3aaa840483 Misc. 2005-05-22 03:11:41 +00:00
robocop
0c5c72f0e8 - The trigger type is UCHAR in the range 1..6; don't change it to bool.
-  Restored what seemed a check "just in case": test relation with empty name.
2005-05-16 09:13:18 +00:00
alexpeshkoff
d760894019 fixed unregistered bug - after attempt to
create view v(c1) as select 1 from v;
all clones of system request remained active forever
2005-05-13 14:42:23 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
dimitr
1111a72c37 Fixed memory corruption reported privately by Sean. 2005-05-11 07:43:20 +00:00
robocop
a7754b39e3 Misc. 2005-04-28 06:12:08 +00:00
arnobrinkman
64e34a0109 Add comment 2005-04-25 06:54:45 +00:00
arnobrinkman
4b978cf19e Fix bug #1168898
With sub-select in CHECK constraint and CHECK constraint is part of domain.
A table T with single column C who uses this domain.
Then no VIEW could be created on Table T which uses simple column C.
2005-04-24 18:32:16 +00:00
dimitr
4ec439dd14 1) Deliver trigger type to the compiler level
2) Disallow NEW context assignments for POST-triggers
2005-03-28 21:52:55 +00:00
robocop
babcad892a Solve metadata bug with MET_lookup_relation not finding the already loaded relation and hence not locking rel_existence_lock when required. 2005-01-26 04:44:53 +00:00
robocop
93b7301e31 1.- More variables in context.
2.- Close the blob.
2005-01-25 06:41:50 +00:00
robocop
73c5351bb7 1.- Misc.
2.- Use constants instead of harcoded positions in node's arguments.
2005-01-21 08:36:06 +00:00
robocop
d65307b497 Style. 2004-12-24 08:52:39 +00:00
robocop
f550ca480f Misc. 2004-12-09 02:53:19 +00:00
robocop
af6a16107a Misc. 2004-11-30 06:18:39 +00:00
alexpeshkoff
49aab40955 1. rewritten flu.cpp using modern firebird classes library
2. fixed diagnostic about missing/unusable UDF module
2004-11-29 11:15:09 +00:00
robocop
399fa165db Make the assertion useful. 2004-11-01 03:18:42 +00:00
skidder
0c46bd34ea Unify ODS11 between 32-bit and 64-bit builds on the same architecture: use 64-bit alignment and 32-bit descriptors 2004-10-25 01:18:37 +00:00
robocop
25f115b66e Closing several possible buffer overruns.
Alex is expected to overwrite my changes in isc_file.cpp.
2004-10-08 04:48:02 +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
f5530981b2 Use exact_name instead of name_length with custom code 2004-09-26 07:24:04 +00:00
robocop
840bf14b36 If we are using namespace fb_utils, it doesn't make sense to prefix functions in it with fb_ again. Mechanical replacement made one by one (no bulk automatic changes). 2004-09-26 01:49:52 +00:00
robocop
7dcb66a250 When you call va_start, call va_end, don't assume it does nothing because some platforms don't have code for it!
Changed some sprintf to SNPRINTF. Work in progress WRT wrapper for this function.
2004-09-25 10:28:09 +00:00
robocop
5dce94f59f Collapsed an example of Borland's advanced copy/paste technique that repeats routines in different files into a single function. 2004-09-15 03:49:52 +00:00
dimitr
47d00c34e0 A number of little corrections. 2004-09-13 21:06:41 +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
robocop
1741432859 Got rid of redundant cast to jrd_req* 2004-08-26 11:07:57 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
skidder
04076ea1ff size_t is more correct type for container sizes and indices 2004-07-17 00:13:34 +00:00
robocop
a19dadb269 1.- Try to fix the mess caused by different data types used to represent bifields of SCL_ constants defined in scl.h, second round.
2.- Prevent users from deleting system generators and modifying any entry in rdb$generators. VIO passes the task to DFW, the only problem being that the user gets the error when a commit is done, not before.
2004-07-06 05:59:40 +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
robocop
f8f159dc9e Changing some variables that have a trailing underscore to allow conflict with C++ keywords or engine structs. 2004-05-31 02:34:35 +00:00