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

276 Commits

Author SHA1 Message Date
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
alexpeshkoff
40e2f7f892 Fixed transactions support in user management commands 2009-02-19 12:59:32 +00:00
asfernandes
612c108e3e Misc 2009-02-02 03:35:52 +00:00
hvlad
115602ff06 Trace services support 2009-02-01 22:10:12 +00:00
robocop
3689f15321 Style. 2009-01-20 08:33:59 +00:00
robocop
efbc559a8f The last param to LCK_convert is not BOOL or bool but LCK_WAIT (1) or LCK_NO_WAIT (0) according to lock.h, -1 (infinite) or a custom value (provided as negative value by jrd_tra::getLockWait() since the user must input a positive value when starting the txn). 2009-01-03 09:34:42 +00:00
robocop
6406e45337 Shut up compiler warnings (unreferenced vars, uninitialized vars, compile-time conditional code, etc.) 2009-01-02 06:36:12 +00:00
asfernandes
5a85277726 Misc 2008-12-25 14:25:01 +00:00
robocop
762d7e1392 Style. 2008-12-25 06:09:37 +00:00
robocop
29f1b0d641 Style. 2008-12-18 12:09:35 +00:00
asfernandes
744e83f240 Misc 2008-12-03 01:05:53 +00:00
hvlad
36e1866a1d Few fixes to correctly close brocken external connection.
Ability to stop execution of external query when :
- engine is shutted down
- database is shutted down
- local statement is cancelled
- local connection is cancelled
2008-11-27 23:06:48 +00:00
asfernandes
ad716e38d9 Misc 2008-10-20 23:46:46 +00:00
robocop
60d4b42518 Straighten some multi-line statements that can fit in less than 100 columns. 2008-10-16 11:30:10 +00:00
dimitr
c4530625d9 Undo log shouldn't depend on the outer transaction. 2008-10-16 05:36:36 +00:00
dimitr
e0db5f3ecd Splitted the undo log into two parts: in-memory one for initial undo items (but they're much more dense now) and on-disk (cached up to TempSpaceLimit) one for full record versions (used in update-in-place).
This dramatically reduces the memory usage for bulk updates, thus solving CORE-1575 (serious memory bug on multiple update a table in a single transaction) and CORE-1477 (Avoiding excessive memory consumption by undo-log after series of updates) and predicting out-of-memory conditions that could often lead to record-level corruptions.
2008-10-14 10:32:54 +00:00
hvlad
a3d266ba83 Fixed bug CORE-2018 : Only one client can access a readonly database 2008-10-14 09:10:36 +00:00
alexpeshkoff
e79f55708d 1. Cleanup - use Firebird::Semaphore instead of local events, removed code
related with local events from isc_sync.cpp.

2. Cleanup - removed unused parameter 'number of events' from ISC_event_wait()
and two unused parameters from ISC_event_init().

3. Added SYSV-semaphore based implementation of IPC to isc_sync.cpp.
This should fix CORE-2102: Firebird 2.5 does not build on MacOS (Darwin).

4. Fixed use of posic CS without (x)inetd (i.e. fb_inet_server -s).

5. Fixed (to be reviewed by Dmitry) recovery after some process death in lock manager.
2008-10-10 15:58:05 +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
alexpeshkoff
e0109ab067 1. Use DFW to store data for user management.
2. Minor cleanup in DFW, fixed memory leaks.
2008-05-21 08:13:20 +00:00
asfernandes
c9202a3767 Misc 2008-05-18 02:02:50 +00:00
alexpeshkoff
0552035ce5 Added transaction support in user management commands 2008-05-15 15:15:02 +00:00
hvlad
85aed9d302 Make ViewContext::vcx_context_name able to store more than 31 chars as was discussed in fb-devel. Thanks to Claudio for the tips. 2008-05-11 21:27:21 +00:00
dimitr
0a9e8c8382 Implemented CORE-1751. The changes include:
1) Make memory counters aggregated.
2) Add attachment pool and allocate appropriate resources out of this pool.
3) Always release attachments explicitly (via destructor).
4) Always delete user requests prior to attachment deletion.
5) Introduce memory usage counters per every monitoring object.
6) Misc refactoring.
Some pieces are still incomplete (although everything basically works), but I'd like to get feedback and testing sooner rather than later.
2008-05-06 08:46:39 +00:00
hvlad
9280a572a0 Avoid long blocking of att_mutex and make sure it is always released when attachment deleted.
Move active requests cancellation at engine shutdown from Y-valve into engine and let them stop execution before deletion of attachments.
Make sweep run in separate thread despite of engine architecture.
2008-05-04 12:49:29 +00:00
dimitr
c66a8cb62a Misc. 2008-04-30 19:16:12 +00:00
dimitr
7fc85de737 Misc. 2008-04-17 07:54:10 +00:00
robocop
bf0db00991 Misc. 2008-04-13 06:40:26 +00:00
hvlad
fe3f8c184b New EXECUTE STATEMENT with support of external data source implementation 2008-04-09 20:18:47 +00:00
robocop
922206ecc7 Fix comment. 2008-04-09 13:46:22 +00:00
hvlad
4224fce3ff Clear lock error in TRA_sweep else it is wrongly reported as failure of currently starting transaction. 2008-04-05 23:06:31 +00:00
asfernandes
21da64cca7 Link blobs of autonomous transaction with the outer transaction - to fix invalid BLOB ID errors. 2008-04-05 19:28:52 +00:00
dimitr
2f41d8e8ba Corrections for the currently disabled code. 2008-04-02 12:42:09 +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
robocop
f5db14b277 Pass some tdbb's as arguments. 2008-03-18 13:04:05 +00:00
asfernandes
12c50384b5 Misc 2008-03-13 02:43:32 +00:00
dimitr
afb970dba1 1) Cleanup.
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
robocop
04106ddde6 More fixes for CORE-1600.
CORE-1777.
2008-03-12 07:33:12 +00:00
asfernandes
74d8711856 Misc 2008-03-08 21:20:26 +00:00
robocop
c8082004d2 CORE-1600. Needs testing with any sort of valid and invalid TPBs. 2008-03-07 07:28:57 +00:00
robocop
2d8ac2acb9 CORE-1600, work in progress, before I have to return to my private work. 2008-03-06 09:43:43 +00:00
dimitr
99caa91b85 DSQL integration into the engine. 2008-02-28 13:48:16 +00:00
robocop
f8007f4071 Misc. 2008-02-24 03:23:40 +00:00
alexpeshkoff
19b903f0c5 fixed posix build 2008-02-14 11:52:59 +00:00
dimitr
9c69da779a Misc. 2008-02-13 16:46:11 +00:00
robocop
4c3381ef6b Style, constness and macro cleanup. 2008-02-03 10:41:44 +00:00
dimitr
a38b327886 Cleanup. Get rid of the JrdMemoryPool. 2008-01-29 10:11:52 +00:00
dimitr
43594ed53a Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:17:19 +00:00
alexpeshkoff
955819dfd4 better way to fix a problem - suggested by Dmitry 2008-01-23 14:20:40 +00:00
alexpeshkoff
28a6d557ed One more deletePool - also added destructor 2008-01-23 14:12:15 +00:00
alexpeshkoff
578e81508b Call transaction destructor before removing transaction pool 2008-01-23 13:44:03 +00:00
dimitr
48e81dd58a The merge is being fixed. 2008-01-16 12:22:11 +00:00
alexpeshkoff
eea9070f48 Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster 2007-12-03 15:46:39 +00:00
hvlad
2b47bbe55b Revert files back after wrong commit 2007-11-19 00:21:18 +00:00
hvlad
86f1141328 Execute statement with support of external data source 2007-11-18 22:59:20 +00:00
robocop
4de70004e6 Relax the txn option checks as required by Dmitry. 2007-09-11 07:47:41 +00:00
asfernandes
0359e65d4f It's difficult for human beings distinguish between l (letter) and 1 (number one) 2007-09-10 00:26:45 +00:00
robocop
d59376ef7c Fix CORE-1440. 2007-09-04 08:22:48 +00:00
asfernandes
f3ba6d4fa5 Misc 2007-08-29 02:33:35 +00:00
robocop
66d30dac5c Let's detect wait/no_wait conflict as requested by Dmitry. 2007-08-28 05:28:24 +00:00
robocop
786039bb28 Implement a variation of the suggested fix in CORE-1416:
- Use isc_bad_tpb_content instead of isc_bad_tpb_form seems better, considering the rest of the cases.
- Detect another trivial case: wait once no_wait has been seen previously.
2007-08-25 08:06:09 +00:00
dimitr
1d4a090bcf Misc. 2007-03-09 08:56:31 +00:00
alexpeshkoff
cef61d5d3c Fixed unregistered bug, reported privately by Adriano 2007-02-12 15:52:57 +00:00
dimitr
bdee46366b Misc. 2007-02-12 10:18:43 +00:00
dimitr
99c2df56b6 Changed cancellation implementation to work at the transaction level as being more efficient. 2007-01-07 15:15:06 +00:00
dimitr
1ce4eb2a2b Fixed CORE-980. 2006-10-30 19:04:27 +00:00
asfernandes
1d422a8330 1) Refactor intl_classes.h and intl.cpp
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
8e7e781e5f Partial commit with some cleanup and more constants. 2006-10-10 06:41:36 +00:00
asfernandes
6174398915 Misc 2006-10-08 16:03:37 +00:00
dimitr
988782a96a 1) A new class to handle aggregated multi-level performance counters.
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00