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

105 Commits

Author SHA1 Message Date
alexpeshkoff
9a7c7a6c31 Fixed CORE-4685: Accessing DB in invalid manner when links (hard or symbolic) are used for it 2015-02-09 14:08:31 +00:00
asfernandes
2a857cb415 Misc. 2015-01-15 01:17:27 +00:00
asfernandes
b99311dd1e Make the API usable with different type of IStatus classes, throwing (what class?) or not throwing. Builtin are CheckStatusWrapper (no throw) and ThrowStatusWrapper (throws FbException). 2015-01-12 00:21:38 +00:00
asfernandes
d8a0ff5f4b Generate interfaces with I-prefix. 2014-12-19 15:24:44 +00:00
hvlad
18806682fd Fixed bug CORE-4575 : AV in garbage collector thread at disconnect of last attachment 2014-10-10 10:11:14 +00:00
alexpeshkoff
153de0f271 Language independent API 2014-09-29 11:03:47 +00:00
asfernandes
03370ed479 Fixed problem of undefined behaviour when deleting pointer of an incomplete type. 2014-09-05 15:21:10 +00:00
dimitr
b742803ebf Refactored the shared cache checks. Optimized the shared counter for SS. 2014-09-01 13:19:53 +00:00
dimitr
51d1cd35d3 Front-ported Nickolay's improvement for the shared counter. 2014-08-10 20:07:45 +00:00
dimitr
6199136792 Refactored database monitoring, made its handling attachment bound. This should make deadlocks impossible, as well as avoid blocking worker connections while the monitoring request is processed. 2014-07-31 08:56:53 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
asfernandes
62719c854d Warnings. 2014-07-10 02:25:44 +00:00
roman-simakov
573e93e5a6 Fixed CORE-735: User rights for metadata changes.
We check DDL in DDL nodes and skip at vio level. vio level still exists for direct metadata editing.
2014-07-08 07:35:27 +00:00
robocop
2810026363 Misc and warnings. 2013-12-29 00:35:50 +00:00
alexpeshkoff
83db69c849 Fixed new gcc 4.7 warning "deleting object of polymorphic class" in many places. Adjusted use of interface types (reference counted vs just vesrioned). Avoided some hacks caused by badly chosen interface type. 2013-11-18 12:20:23 +00:00
alexpeshkoff
120b10a78a Implemented CORE-4263: Database linger 2013-11-14 16:16:24 +00:00
hvlad
34b99e6f3a Don't force flush for database which creation is not complete. 2013-11-07 10:32:35 +00:00
dimitr
3821ec9d41 Implemented CORE-4218 (database owner in MON$DATABASE) and CORE-4222 (auth method in MON$ATTACHMENTS). 2013-09-18 09:37:13 +00:00
dimitr
b7372ba47e Front ported CORE-3989: Bad performance / slow response when many concurrent sorts are executed. 2013-08-06 09:37:44 +00:00
dimitr
9e8bbbdd13 Better protection against AST delivery during detaching. 2013-07-03 13:22:44 +00:00
hvlad
c12e731b6a Fixed bug CORE-4134 : Race condition when auto-sweep is started 2013-06-29 11:32:55 +00:00
robocop
3460f121f6 Misc. 2013-05-21 21:47:23 +00:00
alexpeshkoff
3746843930 Postfix for CORE-3935 and CORE-3993: avoid opening same database file twice 2013-04-15 16:51:20 +00:00
alexpeshkoff
fc12495d0e Modified IStatement interface in our API:
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
   therefore avoiding need in BLR generation in client applications.
2013-02-17 12:08:53 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
dimitr
42a4c93b97 1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related  refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
asfernandes
07557dc297 Misc. 2012-05-26 18:05:56 +00:00
robocop
642d506cd9 Change txn numbers to unsigned and commit after Vlad's review. If the compile-time checks (to ensure enough room for the new txn type) are too ugly, they may be deleted. 2012-05-19 12:04:37 +00:00
robocop
70d5ebdfdf - Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
dimitr
46cc7d15af Optimized the shared counter generator to avoid LM calls if there's no contention on the protecting lock. 2012-03-27 10:52:15 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
dimitr
444d5302e1 Refactored the tdbb initialization, especially in AST and BG threads.
Replaced dbb_use_count with a list of active requests (to be utilized later).
Misc cleanup.
2011-10-18 18:02:57 +00:00
dimitr
4263301039 Refactored the database shutdown. Work in progress. 2011-10-10 13:51:10 +00:00
hvlad
dc4abc05e4 Protect system attachments list with dedicated sync object. It prevents deadlocks with common sync object on process shutdown. 2011-10-02 10:19:06 +00:00
asfernandes
4675f8d2d2 Fix build. 2011-08-05 02:10:05 +00:00
hvlad
99c9c8e2db Enabled background threads (garbage collector and cache writer).
Introduced special kind of system attachments used in this threads and show its activity in monitoring.
2011-05-27 07:57:16 +00:00
alexpeshkoff
a8842629ea fixed gcc warning 2011-05-10 11:56:52 +00:00
asfernandes
d0c2265105 Misc. 2011-05-10 01:12:14 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
alexpeshkoff
256cb1e853 1. Use reference counted stable in global pool objects instead PublicHandle's validation.
2. Avoid massive segfaults when closing heavily loaded server.                                                                                 
3. Restored logic in YValve required for correct shutdown.                                                                                    
4. Do not change externally visible request body when preparing it.
2011-04-25 17:47:56 +00:00
dimitr
3cb62191b5 Front ported fix for CORE-3356. 2011-02-25 07:32:36 +00:00
asfernandes
e623bb4bf1 Misc 2011-02-18 00:52:10 +00:00
dimitr
bccfda7aa6 Misc. 2011-02-15 07:32:56 +00:00
dimitr
86ea2ddb00 Front ported:
Refactored the shared counter to support multiple number spaces.
Changed att_id and tra_id to be generated sequentially (without caching), as agreed with Vlad privately.
Fixed CORE-2305: Make mon$statement_id value constant among monitoring snapshots.
2011-02-15 07:16:57 +00:00
asfernandes
ffb28dfc3d Misc 2011-01-22 17:15:52 +00:00
alexpeshkoff
f89ac854ef Getting ready to use 32 (not 31) page and transaction numbers 2011-01-21 17:55:04 +00:00
dimitr
2ed04ec8a9 Fixed CORE-3217: Server crashes inside the lock manager when multiple connections attaching/detaching simultaneously. 2010-11-08 10:21:04 +00:00
dimitr
c5f6f04726 Cleanup. 2010-11-02 11:30:57 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00