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

491 Commits

Author SHA1 Message Date
dimitr
3b843d8aea Make the memory stats SuperClassic friendly. It doesn't make the Classic logic much worse. 2008-02-20 15:29:07 +00:00
robocop
5bff502eac Better report truncated paths than to crash due to malformed parameter block. 2008-02-20 10:20:40 +00:00
dimitr
81df8a829f Added missing synchronization. 2008-02-19 16:50:04 +00:00
dimitr
7ae3eb5977 1) Make enumeration and shutdown routines SuperClassic friendly.
2) Cleanup and minor refactoring of the Classic shutdown routines.
2008-02-19 16:23:53 +00:00
asfernandes
c979d91901 Misc 2008-02-19 02:34:55 +00:00
robocop
7a0a29e234 Move some clutter out of jrd.h to Database.h and Database.cpp. 2008-02-14 12:24:27 +00:00
robocop
360cc4c31b Style. 2008-02-14 07:31:25 +00:00
dimitr
ff9e777bc0 Cleanup, style and synchronization. Solved a few deadlocks and races during attach. 2008-02-14 07:12:13 +00:00
alexpeshkoff
dbf65528b8 Fixed CORE-1726: isc_service_start failed, use InitHolder for SecurityDatabase in services too. 2008-02-13 13:10:23 +00:00
asfernandes
627202bd84 Fix operator precedence 2008-02-11 23:32:15 +00:00
dimitr
78b4b30764 Move the dbb<->att check under the mutex protection. 2008-02-11 17:39:04 +00:00
asfernandes
4ffcaa7c5b Misc 2008-02-10 17:26:35 +00:00
alexpeshkoff
c3e1830e12 1. Cleanup:
- moved Attachment constructor (big enough) into .cpp file
 - avoid use of dbb in Database::get() and getUserInfo()
2. Complete fix for CORE-1726 - SecurityDatabase::init() is now not Database, but Attachment counted.
2008-02-10 16:38:30 +00:00
alexpeshkoff
18f72a7ed2 Fixed filehandles and temp diskspace leak - delete dbb_sys_trans makes it close TempSpace 2008-02-08 16:54:10 +00:00
asfernandes
691fb487d8 Misc 2008-02-06 00:43:54 +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
asfernandes
b39ac40c9d Misc 2008-02-03 02:32:39 +00:00
alexpeshkoff
8901a0e003 Services cleanup - make class Service traditional C++ class 2008-02-02 18:33:37 +00:00
robocop
e9e1ead67a Mostly style, constness, native memcpy and explicit constructors. 2008-02-02 17:04:06 +00:00
dimitr
9c9413d02e Fixed issue spotted by Claudio privately. 2008-02-02 14:36:06 +00:00
dimitr
16814b51a6 Let's be consistent with operation order during dbb destruction. 2008-01-29 17:32:42 +00:00
alexpeshkoff
3589cebc95 Fixed some posix problems 2008-01-29 10:36:49 +00:00
dimitr
a38b327886 Cleanup. Get rid of the JrdMemoryPool. 2008-01-29 10:11:52 +00:00
asfernandes
de8771570f Misc 2008-01-29 01:36:41 +00:00
dimitr
c0f1809bde Let's explicitly release all locks we own. 2008-01-28 17:27:03 +00:00
dimitr
ed3817f6b6 Sigh, we have to release the dbb when doing authentication. 2008-01-26 17:33:57 +00:00
dimitr
d54edd1a13 Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:51:33 +00:00
asfernandes
aea2bcb354 Misc 2008-01-23 19:03:16 +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
c577fde263 The merge is being fixed. 2008-01-16 12:29:45 +00:00
dimitr
d1e8f67a5d The merge continued. 2008-01-16 09:29:37 +00:00
dimitr
516f75c010 Protect the mutex from being released twice. 2007-12-19 14:12:31 +00:00
dimitr
cf12557e36 Code simplification. We don't need to track the cancellation for the non-request activities. 2007-12-11 09:19:06 +00:00
dimitr
d276641cc8 Fixed CORE-1610 and its subtask CORE-1615. 2007-12-10 07:18:54 +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
3e0d8ebc5b Fixed CORE-1603: Possible buffer overflow with long user name 2007-11-19 16:18:59 +00:00
hvlad
2b47bbe55b Revert files back after wrong commit 2007-11-19 00:21:18 +00:00
hvlad
86f1141328 Execute statement with support of external data source 2007-11-18 22:59:20 +00:00
alexpeshkoff
a80dd39b11 Fixed CORE-1593: Full domain user name can be longer than 31 char(for trusted authentication) 2007-11-15 12:48:24 +00:00
alexpeshkoff
c4f6801e34 avoid cast 2007-11-01 17:19:54 +00:00
alexpeshkoff
8c542c5b26 Fixed CORE-1551: AV when all statements are cancelled 2007-10-30 14:50:05 +00:00
alexpeshkoff
edc03201ca Fixed CORE-1537: NBackup creates difference file in bad place 2007-10-26 13:21:16 +00:00
dimitr
025cf5c752 Fixed CORE-1540. 2007-10-26 10:53:47 +00:00
robocop
5e135ba43f Moved the bool before the strings. 2007-10-24 07:03:37 +00:00
robocop
3c9917e8e2 For now, we are only interested in knowing that
dpb_gbak_attach was specified, not in the content of the string.
2007-10-24 06:26:31 +00:00
dimitr
81a791c6bb Allow ASTs to be delivered while the engine performs some long activity. 2007-10-15 17:45:30 +00:00
hvlad
6bc73b2260 Correction for fix for bug CORE-1443 2007-09-18 14:58:31 +00:00
hvlad
ebb55209c0 Fixed bug CORE-1468 : Database corruption possible when database file extension and read\write activity is performed simultaneously 2007-09-18 14:50:51 +00:00
hvlad
193910ff7c Fixed bug CORE-1443 : Embedded engine may hang application on exit if no database access was performed 2007-09-06 07:52:39 +00:00
dimitr
91fa6a519b 1) Replaced the hackery LM-based ID generation with the local counter. Uniqueness will be ensured by the DatabaseSnapshot internals.
2) Fixed CORE-1441.
2007-09-05 07:18:37 +00:00
robocop
3a7d93f658 Misc tweaks with Firebird::string. 2007-08-26 09:53:08 +00:00
asfernandes
6beb5e28bd Misc 2007-07-26 01:23:18 +00:00
alexpeshkoff
4a0e6d59f3 Fixed unreleased (or released in wrong order) locks in:
1. Dsql cache.
2. Transaction (table lock) - only when database dropped.
3. Collation - were released after database's lock.
2007-07-25 13:21:59 +00:00
alexpeshkoff
f250c52b4f Fixed CORE-1323: NBAK not working 2007-06-15 09:28:56 +00:00
alexpeshkoff
0545a76ef6 Fixed role uppercasing - thanks to Adriano 2007-06-13 13:21:40 +00:00
alexpeshkoff
4a4a01ee98 Restored old (SYSDBA) value of CURRENT_USER during BOOT_BUILD 2007-06-09 09:25:40 +00:00
alexpeshkoff
abb9f55932 fixed option name 2007-06-09 08:38:27 +00:00
asfernandes
fbf04d54fc Misc 2007-06-09 04:06:26 +00:00
alexpeshkoff
e5f1e63836 Fixed CORE-1312: A remote attacker can check, if a file is present in the system, running firebird server 2007-06-08 10:24:57 +00:00
alexpeshkoff
ea8ba3370d Cleaned up mutexes - removed MUTX_T and related macros 2007-06-06 12:37:24 +00:00
asfernandes
e705b335f8 Fix non-ASCII object names in:
1) aliases in PLANs
2) EXECUTE PROCEDURE
3) SELECTs inside procedures/triggers
2007-05-26 22:08:13 +00:00
alexpeshkoff
f72f84ed58 Much better pool may be used here 2007-05-24 12:18:41 +00:00
alexpeshkoff
364849e5fe Fixed ContextPoolHolder usage - in non-AST cases pool should not be 0 2007-05-24 12:13:10 +00:00
asfernandes
c67afcb4ee Improvement CORE-1277 - Automatic transliteration of text blobs 2007-05-22 02:14:20 +00:00
dimitr
bc7c4d0054 Added remote process name to the monitoring data. Applications are allowed to override this value via DPB. 2007-05-16 07:54:33 +00:00
hvlad
395fa7f43d Assing memory pool in tdbb at database detach. 2007-05-07 13:09:26 +00:00
alexpeshkoff
6f8fb87780 Front-ported fix for CORE-1240 - any task, using libfbclient, hangs on exit on Darwin/PPC 2007-05-03 13:52:16 +00:00
skidder
742706cc4d Fix server crash if database file cannot be created that was introduced by our previous patch 2007-04-26 17:25:49 +00:00
skidder
04b9ec818b NBAK synchronization rework. This should fix CORE-1151 and other Nbackup stability issues 2007-04-24 14:05:46 +00:00
dimitr
4c66511fbd Correction for my old commit. Enforced rescheduling does very bad job for classic, causing a major slowdown. 2007-04-17 12:39:56 +00:00
alexpeshkoff
f0d465bf34 Fixed gcc warnings, general (un)signed usage cleanup 2007-04-11 09:28:50 +00:00
alexpeshkoff
6e735f7c53 Misc + gcc warning hunting 2007-04-09 16:15:29 +00:00
dimitr
72c5963844 Misc. 2007-04-05 04:27:29 +00:00
hvlad
79613ef6aa Don't waste even a nanosecond copying string if we can avoid it 2007-04-04 21:38:06 +00:00
asfernandes
032a4b170c Don't leak memory after conversion to blob for store the value in a variable or parameter 2007-03-24 03:00:22 +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
dimitr
05473ab246 Front-ported fix for CORE-943. 2007-03-09 08:55:07 +00:00
dimitr
57c02cc754 Front-ported fix for CORE-1140. 2007-03-09 08:16:37 +00:00
dimitr
d3ae3fef1c Front-ported fix for CORE-1139. 2007-03-09 07:59:05 +00:00
asfernandes
e544f6fd1e Misc 2007-03-01 00:44:14 +00:00
alexpeshkoff
c877054ae5 Fix for CORE-900: Deadlock when attaching simultaneously with services and standard APIs 2007-02-28 08:40:27 +00:00
alexpeshkoff
9b2d957057 Fixed CORE-1091 - isc_service_query() showed full db file name 2007-02-26 16:17:00 +00:00
asfernandes
ba4be4f293 Misc 2007-02-26 02:13:42 +00:00
asfernandes
f73cf3e501 Initialize random seed when necessary 2007-02-26 01:01:17 +00:00
asfernandes
d87a30bf0c Misc 2007-02-23 01:42:10 +00:00
alexpeshkoff
dfef55e991 Fix for CORE-968 - Assertion failure in posix/isc_ipc.cpp 2007-02-22 16:47:39 +00:00
robocop
409ff041dd Misc and replaced "IB" by "FB" where it made sense to me. 2007-02-11 09:04:54 +00:00
dimitr
1c2de5688c Fixed (partially) CORE-1105. A half of the whole db alias idea has been broken three years ago and left unnoticed until now. Sigh. 2007-02-08 14:14:54 +00:00
alexpeshkoff
7d3949ad67 Fixed some problems, noticed by Claudio. 2007-01-28 12:17:17 +00:00
hvlad
3843604cd0 GTT related bugfix 2007-01-27 15:40:12 +00:00
asfernandes
c3d64106e0 Misc 2007-01-26 01:24:48 +00:00
alexpeshkoff
d66281291f 1. Make classic server close shutdown normally when killed by signals 2 & 15.
2. Don't leave running instances of fb_inet_server after database shutdown.
3. To make all this possible - reworked Y-Valve in general.
2007-01-20 14:45:45 +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
dimitr
99c2df56b6 Changed cancellation implementation to work at the transaction level as being more efficient. 2007-01-07 15:15:06 +00:00
asfernandes
9493f2fb66 Fix problems with COMMIT triggers:
1) Fix a problem when the transaction could not be commited due to errors in DFW.
2) Run triggers inside a savepoint when "preparing" the transaction.
3) More doc.
2007-01-06 23:54:23 +00:00
hvlad
b9d0a9bcd6 Fixed CORE-1080 : Bugcheck 167 (invalid SEND request) in SS when many parallel attachments begin to execute trigger not loaded into metadata cache 2007-01-06 13:43:41 +00:00
dimitr
83c7f38229 Fixed CS build. 2007-01-06 06:52:43 +00:00
asfernandes
5db5421a66 Misc 2006-12-30 16:55:06 +00:00
asfernandes
de7dbae857 Rollback changes of all ON TRANSACTION COMMIT triggers when one trigger fail 2006-12-30 01:26:50 +00:00
dimitr
40f6fa11d0 Let's not cancel the verb cleanup process as it causes a fatal bugcheck. 2006-12-22 15:49:31 +00:00
asfernandes
bfcc8df647 Restore the original status vector 2006-12-13 14:28:57 +00:00
asfernandes
7329ad3f3b Run ON DISCONNECT triggers on server shutdown - thanks to Alex 2006-12-12 14:21:17 +00:00
alexpeshkoff
1a4652f01a Trusted authentication for windows 2006-12-08 18:38:15 +00:00
dimitr
b43b43eca9 1) Changed MON$STATEMENTS a bit.
2) Implemented statement cancellation.
2006-12-04 21:36:29 +00:00
asfernandes
d168869475 Added RDB$NULL_FLAG and RDB$PARAMETER_MECHANISM to RDB$PROCEDURE_PARAMETERS 2006-11-24 00:25:13 +00:00
asfernandes
3e7a2b4542 Do not swallow bugcheck exceptions - thanks to Claudio 2006-11-12 21:19:50 +00:00
robocop
4734698382 Fix a crash in Adriano's db triggers when using -shut and -tran in gfix, because TRA_start can throw and thus our result in jrd.cpp was uninitialized. 2006-11-10 08:38:55 +00:00
robocop
7a46dc7247 Misc. 2006-11-10 08:12:07 +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
hvlad
f48f2af25b Few corrections pointed by Claudio 2006-11-03 09:42:42 +00:00
asfernandes
4197a8be70 Fixed a bug when the connection charset is multibyte, appeared after recent changes to CsConvert class. 2006-11-02 22:37:19 +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
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
dimitr
e4fffd425f 1) Updated monitoring implementation.
2) Cleanup.
2006-10-30 12:39:08 +00:00
asfernandes
358326eb08 Misc 2006-10-14 18:33:12 +00:00
robocop
28c3d29886 ApiGuide.pdf says a maximum of 16 databases is allowed for a multi-db transaction. However, Ann agrees that a modern new, sensible limit is 256 databases for start_transaction and start_multiple.
Fixed a buffer overrun in jrd.cpp related to this.
2006-10-14 01:29:36 +00:00
asfernandes
1d422a8330 1) Refactor intl_classes.h and intl.cpp
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
8e7e781e5f Partial commit with some cleanup and more constants. 2006-10-10 06:41:36 +00:00
asfernandes
4191332d2f Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:53:08 +00:00
robocop
861cc66a6f Dmitry's last commit appears incomplete for me (for example, no project files were updated). While trying to fix the VC6 build, I added the new class to the three "common*" projects and commented a line in jrd.cpp. Server may misbehave due to the jrd modification. 2006-10-08 07:57:15 +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
asfernandes
3cf910dedf Misc 2006-09-15 02:14:46 +00:00
dimitr
7c405166aa 1) Support for client PID in the monitoring data.
2) Changed XNET to return local hostname instead of PID as its remote address.
2006-09-14 13:47:31 +00:00
alexpeshkoff
ba264a2388 Fixed CORE-900 2006-08-17 09:51:34 +00:00
alexpeshkoff
205a7303c3 1. Centralized validation of attachment to be a super-user attachment.
2. Fixed a couple of old problems, when sysdba could perform operations, but
   database owner - could not.
3. Fixed CORE-84 - nbackup operations were allowed for everybody who can login
   to the given database.
4. Disabled creating shadows and adding additional DB-files for non super-user.
2006-08-16 15:15:58 +00:00
dimitr
17f99e1489 More fixes for the monitoring stuff. 2006-07-24 15:56:50 +00:00
robocop
64f6eb42a1 Misc. 2006-07-21 01:35:17 +00:00
asfernandes
155ab12384 Misc 2006-07-20 03:14:15 +00:00
dimitr
b7671e2bf6 Increase minimal created page size to 4096. Note that we still can open less page sizes. 2006-07-19 15:16:14 +00:00
dimitr
129e6229ee Monitoring, continued. 2006-07-19 06:19:56 +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
3d20c0180a Misc 2006-07-12 15:13:22 +00:00
asfernandes
a86cf35ad4 Synchronization of DSQL metadata cache objects in classic-server 2006-07-10 03:12:10 +00:00
robocop
d2d3230637 Misc. 2006-07-01 08:50:21 +00:00
robocop
db5f743685 Misc. 2006-06-16 08:13:20 +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
40f05409c9 Cleanup done and tree is buildable again.
:-)
2006-05-25 10:20:31 +00:00
robocop
7040d668fd Misc. 2006-05-25 08:40:23 +00:00
asfernandes
8dfca54dda Complete Dmitry's cleanup of all_proto.h 2006-05-23 12:23:53 +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
9ff5877b36 Fixed the posix build. 2006-05-13 05:02:13 +00:00
dimitr
ab72aae201 Threading cleanup. Restored the V4_THREADING code to the state it was before Blas' cleanup. It's not used but preserved as a self-documentation. 2006-05-01 05:11:52 +00:00
dimitr
bece02f7e8 Threading cleanup. More to follow. 2006-04-30 18:15:30 +00:00
dimitr
8f9d2584db Threading cleanup. More to follow. 2006-04-30 17:40:24 +00:00
dimitr
79652b7222 Threading cleanup. More to follow. 2006-04-30 17:30:32 +00:00
dimitr
8e07223ebf Threading cleanup. More to follow. 2006-04-30 16:28:30 +00:00