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