dimitr
36af3d8cb2
Cleanup and small refactoring to avoid redundancy.
2014-08-15 14:19:02 +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
alexpeshkoff
568861d2d7
Cleanup - removed unused any more service time only switches trusted_user & trusted_role
2014-06-25 11:20:42 +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
dimitr
96c17523f3
Totally misc.
2014-05-29 07:19:29 +00:00
alexpeshkoff
cbfed4663a
Names cleanup - thanks to Claudio
2014-04-07 07:17:42 +00:00
dimitr
e6186e457a
Fixed one more possible case of LM error kept in the status vector after successful execution.
2014-04-05 18:27:10 +00:00
robocop
c90d9d4547
Misc.
2014-04-05 01:44:32 +00:00
alexpeshkoff
20e846369e
Implemented CORE-3370: Resolve additional aspects of multiple security databases from services and cross-database requests POV (mapping names)
2014-04-04 15:57:18 +00:00
robocop
966a2c8db3
Do not take explicit locks on virtual/sys/temp tables using TPBs.
2014-03-28 22:00:05 +00:00
robocop
66af445e2e
Misc.
2014-03-22 20:51:24 +00:00
asfernandes
2aa3e8dd4d
Working in progress on the fix for CORE-4271: unify as possible the handling of procedures and functions.
2013-12-12 14:42:31 +00:00
asfernandes
9c9dd72977
Misc.
2013-11-24 03:21:11 +00:00
alexpeshkoff
4a8fe5a0de
Implemented CORE-4273: Per-database control on access to database from remote stations
2013-11-22 15:21:11 +00:00
asfernandes
d543daf51a
Misc.
2013-11-21 01:17:08 +00:00
dimitr
5356088542
Misc.
2013-11-12 14:24:19 +00:00
hvlad
37344e12bf
Fixed bug CORE-4260 : Bugcheck 165 (cannot find tip page) happens if engine crashed right after CREATE DATABASE
2013-11-11 14:44:52 +00:00
asfernandes
dc99961e8b
Misc.
2013-10-13 23:44:57 +00:00
hvlad
db70a7742d
Fixed bug CORE-3921 : "record disappeared (186), file: vio.cpp line: 408"
2013-09-12 19:08:59 +00:00
alexpeshkoff
a8f8465366
Postfix for CORE-3935 & CORE-3944: helps avoid segfaults/deadlocks when shutting down firebird
2013-08-16 12:44:10 +00:00
hvlad
c12e731b6a
Fixed bug CORE-4134 : Race condition when auto-sweep is started
2013-06-29 11:32:55 +00:00
hvlad
bd4b8d9e28
Removed allocation of temp transaction object.
2013-06-19 11:46:38 +00:00
hvlad
3c7f8623fd
Fixed bug CORE-4100 : Automatic sweep could be run when there is no need for it
2013-05-15 14:28:51 +00:00
alexpeshkoff
97b4b8c2c2
Postfix for CORE-3908: Engine leaks memory and crashes when lot of autonomous transactions have been started and finished
2013-02-28 16:23:56 +00:00
alexpeshkoff
3f2477e8f5
Fixed CORE-3908: Engine leaks memory and crashes when lot of autonomous transactions have been started and finished
2013-02-27 14:49:14 +00:00
dimitr
e29b50f980
Front ported my yesterday's commits to trunk.
2012-12-23 07:10:56 +00:00
alexpeshkoff
c4ae450de4
Re-read attachment from lock after taking lock in attachment handler
2012-12-20 12:18:52 +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
361c5a3b38
Implemented CORE-3994: Improve the limbo transactions scan at the end of the sweep.
...
Also, fixed the mistake in the refactored code (see the first change in the diff).
2012-11-22 17:17:59 +00:00
dimitr
41925536c7
Fixed CORE-3978: Invalid transaction counters may be reported in firebird.log during the sweep.
2012-11-13 09:42:11 +00:00
alexpeshkoff
4ca6e669fe
1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
...
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00
asfernandes
0769a10d48
Misc.
2012-09-16 16:09:24 +00:00
hvlad
b636315561
Improvement CORE-3656 : Support for sweep information in Trace API.
...
Fixed case when sweep cleaned up relation with all records deleted but corresponding event was missed in trace log.
2012-09-04 11:35:16 +00:00
dimitr
5f917a04ce
Minor cleanup and simplification.
2012-08-28 18:19:09 +00:00
asfernandes
ba9f68d5d0
Misc.
2012-08-13 01:20:32 +00:00
hvlad
9124f5e188
Front ported improvements
...
CORE-3656 : Support for sweep information in Trace API, and
CORE-2668 : Write note into log when automatic sweep is started
Also per-table stats is enabled at transaction level (see thread_db::bumpRelStats)
2012-08-02 08:55:21 +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
hvlad
02adff3b63
Improvement CORE-3598 : TRACE: add statistics of actions that were after transaction finished
2012-05-12 09:48:32 +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
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
eed418a89e
Make blb resemble more a class: private data members, convert some functions into methods, add methods with code that was in other files, etc.
2012-02-15 03:34:21 +00:00
robocop
186c817caa
Playing with fire: converting some static functions into member functions. I tried to check every change I did.
2012-02-07 03:17:52 +00:00
robocop
21cd78a0fd
Cleanup: unused functions, parameters & variables.
2012-01-24 03:37:43 +00:00
dimitr
20a8600bd0
Cleanup.
2011-12-23 17:55:00 +00:00
alexpeshkoff
7fb8ebd3a9
Fixed CORE-1898: Increase the password length from 8 characters, CORE-3372: Simplify process of non-default security database creation
2011-12-23 12:43:58 +00:00
dimitr
9bac54c2ca
A little bit of safety doesn't hurt.
2011-11-09 13:31:27 +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
dimitr
2604f07d68
Let's avoid having tdbb_transaction pointing to the deallocated memory.
2011-09-19 15:19:24 +00:00
asfernandes
47489fa71b
Misc.
2011-06-26 18:48:00 +00:00
robocop
1c250c02eb
Misc.
2011-06-25 03:40:18 +00:00
hvlad
f12c243e1c
Improvement CORE-3537 : There is no need to undo changes made in GTT created with ON COMMIT DELETE ROWS option when transaction is rolled back.
2011-06-24 12:54:46 +00:00
hvlad
f2aaa12ce5
Improvement CORE-3536 : Garbage collection in GTT is unnecessary delayed by active transactions in another attachments
2011-06-24 12:49:08 +00:00
asfernandes
77af7c9d55
Misc.
2011-06-17 01:06:27 +00:00
hvlad
eb41aaa8d5
Fixed bug CORE-3525 : Autonomous transactions should not inherit run-time flags of "parent" transaction
2011-06-16 08:58:13 +00:00
hvlad
b202c0573a
Try to correctly handle IO errors in cache and avoid some internal deadlocks.
2011-06-15 12:44:44 +00:00
alexpeshkoff
4c02901734
Fixed segfault in execute statement, reported by Dmitry privately
2011-06-03 15:29:01 +00:00
dimitr
df893a708d
Better (I hope) solution for CORE-3058: New generators are created with wrong value when more than 32K generators was previously created. It also resolves the [temporary] inability to restore generator values.
2011-06-01 16:58:55 +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
asfernandes
3ce54d2eda
Misc.
2011-05-11 01:18:28 +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
0cc0d65eb1
Fixed the assertion caused by refcnt != 0.
2011-04-05 05:47:45 +00:00
alexpeshkoff
9ef53b65e0
Remove reference counting where not appropriate
2011-03-31 13:44:22 +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
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
f89ac854ef
Getting ready to use 32 (not 31) page and transaction numbers
2011-01-21 17:55:04 +00:00
alexpeshkoff
d6fcde387b
New plugin manager. Use it for all types of plugins.
2011-01-14 17:31:40 +00:00
dimitr
a170738b10
Front ported fix for CORE-3207.
2010-11-11 07:41:33 +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
asfernandes
4763533669
Refactor jrd_req into JrdStatement (shared part) and jrd_req (execution of a statement).
...
Fixed some bugs found in the way.
2010-04-18 22:19:11 +00:00
robocop
b75afaaf9a
Some day we will be able to manipulate objects' data through member functions instead of allowing everyone to change their internals directly.
2010-04-04 09:36:22 +00:00
asfernandes
e1ba33a2ae
Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required.
2010-04-02 21:48:15 +00:00
alexpeshkoff
55e717f810
Moved authentication code from engine to remote listener.
...
Get ready for authentication plugins.
2010-01-22 14:55:11 +00:00
asfernandes
e8cc188227
Store the view context type when it doesn't came from backup and simplify the code. Still problems altering procedures used in views.
2009-12-28 15:31:09 +00:00
dimitr
debe65bcfb
Support for PSQL functions (other JRD changes). Still work in progress.
2009-12-21 17:43:01 +00:00
asfernandes
1b1f90d06c
Work in progress on RDB$VIEW_RELATIONS
2009-12-17 15:07:02 +00:00
dimitr
11495a55fb
Refactored the whole RSB stuff into classes. They're inside the /recsrc sub-directory now.
...
Fixed the layering for WITH LOCK and (partially) ANY/ALL predicates.
Cleaned up the outdated code that never worked (mapping DISTINCT to an index, some VMS remainings).
Wiped out a lot of the pre-ODS11 optimizer logic. Some minor adjustments there.
Re-implemented the full outer join from scratch. This resolves CORE-2678 (full outer join cannot use available indices).
Resolved CORE-2796: DB_KEY is always zero for external tables.
Implemented the core part of the scrollable PSQL cursors. Implementation is still incomplete, but ready for testing.
Some other changes I don't recall at the moment ;-)
WARNING! The engine may be unstable. Please email me about any issues found.
2009-12-09 18:45:44 +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
alexpeshkoff
b19dacee16
Ported fix for CORE-2634: Performance regression when restoring database with big metadata
2009-09-29 10:35:16 +00:00
robocop
11b4c9b388
Style.
2009-08-23 09:49:58 +00:00
robocop
53e0eb32e0
Comment.
2009-08-21 09:45:08 +00:00
asfernandes
097b0ca2c2
Misc
2009-06-25 02:29:13 +00:00
hvlad
1a0c3da584
Fixed bug CORE-2268 : GFIX causes BUGCHECK errors with non valid transaction numbers
2009-06-24 11:45:16 +00:00
robocop
2e3ce0d23d
Misc.
2009-06-07 09:49:58 +00:00
hvlad
7c9a94b391
Implement sub-task CORE-1647 : Close external table's file even if it used by some cached (inactive) requests.
...
It also fixed bug CORE-2475 : External table data not visible to other sessions in Classic.
2009-06-03 09:59:45 +00:00
robocop
888000e21e
Unused function params.
2009-04-26 10:24:44 +00:00
dimitr
10683e50ee
Simplification.
2009-04-10 11:43:20 +00:00
alexpeshkoff
d7313f63db
Fixed check for length of isc_tpb_lock_timeout parameter - it can be up to 4 bytes, but should not be numerically greater than MAX_SSHORT
2009-04-10 10:28:51 +00:00
asfernandes
f6f364da49
Trim trailling spaces
2009-04-04 16:39:31 +00:00
dimitr
712c68d5a0
Misc.
2009-03-31 04:14:31 +00:00
hvlad
31596ff3e4
Move MAX_TRA_NUMBER to the header file.
...
Fix AV in TRA_sweep when new transaction can't be started
2009-03-01 10:25:54 +00:00
hvlad
311facc76f
Destroy temporary transaction block if exception occurs at transaction start.
2009-02-28 20:11:49 +00:00
alexpeshkoff
36ffc511e3
misc
2009-02-20 08:14:18 +00:00
asfernandes
e0848b3ba8
Do not delete a pointer from a forward declaration
2009-02-19 22:33:15 +00:00