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

223 Commits

Author SHA1 Message Date
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