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

136 Commits

Author SHA1 Message Date
alexpeshkoff
ee0be488a4 Fixed CORE-4185: message "Invalid lock ID" happened due to incorrect lock kind 2013-08-26 06:28:07 +00:00
dimitr
a12e7b6eaa Cleanup. 2013-08-19 17:29:44 +00:00
alexpeshkoff
70a5c5db43 Always lock dbb_sync before accessing something in setLockAttachment() 2013-08-16 12:41:49 +00:00
dimitr
8a9cebb21e Fixed the sweep lock owner. This is a complementary bugfix for CORE-4134 (Race condition when auto-sweep is started). 2013-07-15 13:51:18 +00:00
alexpeshkoff
afa0770781 1. Fixed broken by me a few time ago server shutdown.
2. Implemented prototype of TLS-based debugging helper holding information about 'What does firebird do now?"
   Currently it's more or less ready for use with JAttachment::release().
2013-03-15 16:37:32 +00:00
alexpeshkoff
c74565ce0e Avoid races with lck_attachment in AST 2012-12-29 13:48:49 +00:00
alexpeshkoff
b3f9759960 Take locks in AST before building tdbb
Fixed assertion in CCH_exclusive_attachment 
Rolled back my changes required to let cancelOperation() enter engine after shutdown
Better locks' history in SyncObject
2012-12-18 13:54:18 +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
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
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +00:00
dimitr
d6c99d641a Fixed the lock owners accordingly to the per-attachment metadata caches. 2011-12-23 17:08:54 +00:00
robocop
5ad96271e6 Misc. 2011-06-24 06:34:16 +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
dimitr
4b3033c013 Better locality of allocations. This also fixes a tiny memory leak in SuperServer. 2011-04-05 05:36:05 +00:00
robocop
82403a5621 Misc, style, etc. 2011-04-02 04:45:26 +00:00
asfernandes
0193d90f6c Fix definition and usages of fb_assert. 2011-02-26 16:03:36 +00:00
asfernandes
7800060e22 Misc 2011-02-04 23:58:10 +00:00
hvlad
12ada43e38 Front ported improvement CORE-3323 : Ability to cancel waiting in lock manager
LM part will be changed to not rely on engine internals.
2011-02-02 11:20:52 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
alexpeshkoff
f28f040e0f Fixed CORE-3024: Error "no current record for fetch operation" after ALTER VIEW (and a lot of other possible inconsistencies) 2010-06-15 12:27:33 +00:00
alexpeshkoff
88b8a40a04 1. Cleaned up most of SUPERSERVER usage.
SUPERSERVER has 4 different meanings in our code:
- this is milticlient server (replaced with Config::getMultiClientServer())
- use shared data cache (replaced with Config::getSharedCache())
- use shared metadata cache (replaced with macro SHARED_METADATA_CACHE)
- database are NOT shared between processes (replaced with getSharedDatabase())

2. Use fb_smp_server as both superclassic and classic binary on posix
(xinetd autodecection is done).

3. Small posix build cleanup.
2010-04-15 14:40:27 +00:00
dimitr
05ac7fb118 Fixed error reporting for no-wait transactions. 2010-02-16 16:23:49 +00:00
robocop
06a4224d0b Put class Attachment in its own files by brute force. 2009-12-25 09:55:05 +00:00
dimitr
87c632874d Support for PSQL functions (misc JRD changes). Still work in progress. 2009-12-21 17:31:34 +00:00
hvlad
71e02a96d4 Caller should know reason why LM denied its request 2009-12-17 19:29:29 +00:00
asfernandes
e99a07bffd Remove usage of tdbb (and tdbb->tdbb_status_vector) in the lock manager 2009-12-06 01:34:57 +00:00
robocop
f95155fd14 Misc. 2009-11-27 08:10:13 +00:00
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
asfernandes
50102f6f4c Misc 2009-08-23 01:27:46 +00:00
robocop
aaf86179d8 Style. 2009-08-21 09:03:10 +00:00
robocop
3e66cd45f5 Comments. 2009-08-20 11:18:57 +00:00
dimitr
b3843ebca4 Cleanup. New nbackup internals don't need this code anymore. 2009-08-19 08:07:18 +00:00
asfernandes
5dda9c1677 Misc 2009-06-27 03:03:56 +00:00
robocop
d82f063395 Style. 2009-06-26 04:12:20 +00:00
dimitr
98611f0d49 Misc. 2009-05-29 08:02:16 +00:00
robocop
4480c7c405 Misc. 2009-04-01 10:49:54 +00:00
robocop
fab6a3a6cf Get rid of superflous parentheses. 2009-02-28 11:57:40 +00:00
robocop
3689f15321 Style. 2009-01-20 08:33:59 +00:00
dimitr
b0bc8551ec Some additional runtime protection from any mistakes in the lock manager initialization or cleanup. 2009-01-18 20:06:05 +00:00
robocop
d11c994960 Style. 2008-12-31 05:06:08 +00:00
asfernandes
5c97a235e3 Misc 2008-12-24 00:32:49 +00:00
robocop
2fadc0e456 Style. 2008-12-22 09:00:05 +00:00
dimitr
25dc79dce2 Fixed CORE-2209: Very slow procesing of the monitoring requests under high load and blocking other activity during that time.
The new code is expected to work 100-200 times faster. To be field-tested.
Implemented CORE-2233: Allow non-SYSDBA users to monitor not only their current attachment but other their attachments as well.
Sorry for mixing two fixes inside a single commit, but they're somewhat related.
2008-12-11 11:58:50 +00:00
robocop
9f52942ab0 Style. 2008-12-02 07:09:49 +00:00
hvlad
ea9555d917 Fixed bug CORE-2018 : Only one client can access a readonly database
Missed parts, sorry
2008-10-14 13:15:25 +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
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