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

80 Commits

Author SHA1 Message Date
Vlad Khorsun
82ba27fd5d Hash table based on lock-free list (implemented in libcds). 2022-10-08 20:54:55 +03:00
Adriano dos Santos Fernandes
581795ed78 Merge branch 'work/profiler-plugin' into work/profiler-plugin-merge 2022-08-10 22:26:38 -03:00
Adriano dos Santos Fernandes
bb139df3c7 Remote attachment profiling. 2022-06-04 15:00:42 -03:00
Adriano dos Santos Fernandes
4c9fffd9b9 Compiled statement cache. 2022-03-18 08:17:35 -03:00
hvlad
1ab61903af Attempt to find the reason of crash around setLockAttachment(), cleanup.
DEBUG_LCK_LIST should be undefined before release!
2020-10-22 00:00:39 +03:00
Dmitry Yemanov
25f5bf7b6a Allow the replication state to be changed at runtime 2020-04-21 19:36:43 +03:00
hvlad
3bfa5fa100 Fixed bug CORE-6080 : Attempt to drop existing user randomly fails 2019-06-10 20:03:32 +03:00
hvlad
fdecfd1319 Merge branch 'master' into read_consistency 2018-02-20 13:50:04 +02:00
hvlad
62735f4cf8 Improvement CORE-5704 : Avoid UPDATE of RDB$DATABASE by ALTER DATABASE statement when possible 2018-01-09 20:29:58 +02:00
hvlad
8f311f3c27 Merge branch 'master' into read_consistency
# Conflicts:
#	src/include/fb_types.h
#	src/jrd/Database.cpp
#	src/jrd/tpc.cpp
#	src/jrd/tra.cpp
#	src/jrd/vio_proto.h
2016-05-21 21:17:31 +03:00
Dmitry Yemanov
f2d0b64ba2 Misc adjustments after CORE-5232 and more encapsulation for the Lock
class.
2016-05-10 10:44:30 +03:00
Adriano dos Santos Fernandes
82b18b30f2 Misc. 2016-05-08 23:05:39 -03:00
James Clarke
0dc0a4b595 Fix locking on big-endian architectures
4e4d8002e5 extended locks to have 64-bit
keys in most cases, but some were left as 32-bit. However, code using
these 32-bit locks assumed that the significant bytes of the key's long
value started from lck_string[0], which is false on big-endian
architectures.  This commit adds Lock::getKeyString(), which gets a
pointer to the first used byte of lck_string, and should be used in
place of accessing lck_string directly.
2016-05-07 22:09:09 +01:00
hvlad
8dbcf67162 Post merge fixes, hopefully final pass 2016-03-24 19:00:06 +02:00
hvlad
3c62d90518 Merge branch 'master' into read_consistency 2016-03-24 11:58:13 +02:00
dimitr
1ae6a9b5c3 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2016-03-24 01:56:54 +02:00
Roman Simakov
f3fd2d7cb5 Initial apply patch of Nikolay 2016-03-22 17:43:58 +03:00
hvlad
714e6c2eaf Remove LCK_idx_reserve introduced with 64-bit transaction ID.
Restore original logic in BTR_next_index (wait for tx lock when index build is in progress). 
Use irt_repeat::irt_root to store high 32 bit of tra_num. 
It also fixed deadlock related with LCK_idx_reserve lock (reported privately).
2016-01-27 11:11:38 +00:00
dimitr
4e4d8002e5 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2015-10-19 13:32:02 +00:00
hvlad
2e78b5a7e0 Feature CORE-4707 : Implement ability to validate tables and indices online 2015-06-19 12:07:41 +00:00
alexpeshkoff
6a2016235a Fixed CORE-4435: After calling release() for attachment to database (instead detach) in embedded mode attachment remains active forever (and some cleanup re. reference counters) 2014-06-10 07:13:34 +00:00
hvlad
db70a7742d Fixed bug CORE-3921 : "record disappeared (186), file: vio.cpp line: 408" 2013-09-12 19:08:59 +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
alexpeshkoff
c74565ce0e Avoid races with lck_attachment in AST 2012-12-29 13:48:49 +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
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +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
dimitr
87c632874d Support for PSQL functions (misc JRD changes). Still work in progress. 2009-12-21 17:31:34 +00:00
asfernandes
f8eb935eb7 Misc 2009-06-06 18:13:57 +00:00
alexpeshkoff
8e2b944337 gcc warnings 2009-06-03 12:55:45 +00:00
robocop
e9040f1a76 Misc. 2009-05-29 10:33:01 +00:00
dimitr
98611f0d49 Misc. 2009-05-29 08:02:16 +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
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +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
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
asfernandes
8b4a83f201 Misc 2008-05-11 03:00:46 +00:00
robocop
e44a99f339 Style and minor cleanup. 2008-05-10 03:44:57 +00:00
asfernandes
f0299cfb29 Misc 2008-04-03 01:11:26 +00:00
hvlad
259fafa647 Implement CORE-1819 : More efficient solution for CORE-1300 2008-04-02 23:46: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
27b162532b Adjustments for the changed LM. Restore the 64-bit owner IDs. Cleanup. 2008-02-11 17:31:38 +00:00
dimitr
3921854d21 Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:30:47 +00:00
dimitr
d1e8f67a5d The merge continued. 2008-01-16 09:29:37 +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
alexpeshkoff
6d66c28b13 Fixed solx86 build - not always offset_t and UINT64 are the same 2007-08-10 07:55:46 +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