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

131 Commits

Author SHA1 Message Date
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
asfernandes
d30d6410ea Misc 2008-06-13 01:42:58 +00:00
dimitr
cb2e3f0f61 Misc. 2008-06-10 04:18:50 +00:00
dimitr
ec1d5a91b4 1) Encapsulated the lock manager and integrated it into the engine.
2) Replaced "early" (before LM) checkouts with "late" (inside LM) ones.
3) Removed the mutex protection that's no longer necessary.
Note: the new LM contains some future code (currently commented out) which will be enabled and tested after the Alpha release.
2008-06-07 09:08:16 +00:00
dimitr
ce01eb98ae Removed the unnecessary debugging field. 2008-05-12 07:02:08 +00:00
hvlad
259fafa647 Implement CORE-1819 : More efficient solution for CORE-1300 2008-04-02 23:46:59 +00:00