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

822 Commits

Author SHA1 Message Date
alexpeshkoff
1eace34614 CORE-3944 - fixed a bug in my previous commit, noticed by Adriano 2013-08-19 08:17:37 +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
asfernandes
b6a4d39596 Misc. 2013-07-06 23:11:13 +00:00
dimitr
9e8bbbdd13 Better protection against AST delivery during detaching. 2013-07-03 13:22:44 +00:00
hvlad
c12e731b6a Fixed bug CORE-4134 : Race condition when auto-sweep is started 2013-06-29 11:32:55 +00:00
hvlad
ffa909f8d9 Fixed bug CORE-4135 : In SS sweep blocks establishment of concurrent attachments.
More details in tracker.
2013-06-29 11:25:07 +00:00
alexpeshkoff
7583535db5 Make dialect 3 default when creating database using OO API. Keep legacy behavior in ISC API. 2013-06-24 12:24:29 +00:00
alexpeshkoff
2a66ddf07f Fixed assertion when restoring DB in non-existtent path with overwrite - reported privately by Dmitry 2013-06-18 09:10:09 +00:00
dimitr
0c6bc6844a Protection against the not supported mode. I used a non-translatable error because it might be a temporary measure, time will show. 2013-06-15 14:12:25 +00:00
robocop
c0b8b68777 Misc. 2013-05-21 21:53:39 +00:00
alexpeshkoff
b9a96911ca Avoid extra atomic operations when assigning pointer to the object with pre-incremented counter (like returned from the function) to reference-counted pointer holder 2013-04-17 11:16:06 +00:00
alexpeshkoff
6f5fedec9a Fixes related with CORE-3993 2013-04-17 08:04:02 +00:00
alexpeshkoff
3746843930 Postfix for CORE-3935 and CORE-3993: avoid opening same database file twice 2013-04-15 16:51:20 +00:00
dimitr
551e2416c6 Add interface support for scrollable DSQL cursors. Implementation will follow later. 2013-04-13 07:11:58 +00:00
asfernandes
e0567463bf Revert external routines to request-based (*) code, but now using a totally different internal approach.
* This is not ideal IMO, but much more easier to currently support stack traces, and domain's defaults and validations.
2013-04-11 15:44:17 +00:00
alexpeshkoff
8780552b94 Added support for changing configuration (client and embedded) from API 2013-04-04 13:17:57 +00:00
dimitr
dbe76bc342 The minimal patch for CORE-1604 (Error at database creation by user with non-ascii name) and CORE-3243 (CURRENT_USER and MON$USER don't work properly) that seems to work for the trusted authentication, but [at least] the legacy auth module has to be reviewed as it seems to deal with the user name "as is", without checking whether it arrived in UTF8 or not. 2013-03-24 16:16:29 +00:00
asfernandes
b9bc308a72 Work in progress fixing external triggers. 2013-03-23 21:12:27 +00:00
alexpeshkoff
afa0770781 1. Fixed broken by me a few time ago server shutdown.
2. Implemented prototype of TLS-based debugging helper holding information about 'What does firebird do now?"
   Currently it's more or less ready for use with JAttachment::release().
2013-03-15 16:37:32 +00:00
asfernandes
0d299d455a Remove FbMessage struct from the API.
This struct lost its main value (group various blr-related properties in a single parameter).
And since openCursor/fetch already split the message/buffer, it does not make sense anymore to have it.
2013-02-26 03:42:19 +00:00
asfernandes
b254fb11c7 Revert change of messages to void* in DSQL internals. 2013-02-24 16:26:00 +00:00
asfernandes
53d4d58113 Change message buffers type to void*. It adds some casts, but avoid them in users' code. 2013-02-23 03:09:17 +00:00
asfernandes
5c436f8d91 Misc. 2013-02-21 23:25:10 +00:00
alexpeshkoff
f1779a7398 Do not prefetch unneeded information in IAttachment::openCursor() 2013-02-19 12:03:07 +00:00
alexpeshkoff
ba9413b26a Add IStatement::getFlags() to help user make a solution what to do with SQL statement 2013-02-19 11:20:49 +00:00
alexpeshkoff
37d353d392 Make openCursor() use default output format when none is given explicitly 2013-02-18 13:53:46 +00:00
asfernandes
ddc4d4eac3 Misc. 2013-02-17 23:06:40 +00:00
alexpeshkoff
fc12495d0e Modified IStatement interface in our API:
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
   therefore avoiding need in BLR generation in client applications.
2013-02-17 12:08:53 +00:00
asfernandes
dc8e42e9bb Migrate external triggers to the new message-based style. 2013-01-29 01:21:32 +00:00
asfernandes
d9275d6567 Misc. 2013-01-07 01:15:24 +00:00
dimitr
e29b50f980 Front ported my yesterday's commits to trunk. 2012-12-23 07:10:56 +00:00
asfernandes
7e1ca71911 Misc. 2012-12-21 01:49:16 +00:00
alexpeshkoff
b3f9759960 Take locks in AST before building tdbb
Fixed assertion in CCH_exclusive_attachment 
Rolled back my changes required to let cancelOperation() enter engine after shutdown
Better locks' history in SyncObject
2012-12-18 13:54:18 +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
4ff4290f11 Front-ported bugfixes related to CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. 2012-12-03 11:21:00 +00:00
dimitr
a85629a9de Fixed CORE-3977: DELETE FROM MON$STATEMENTS does not interrupt a longish fetch. 2012-11-11 15:33:18 +00:00
dimitr
657511babe Wiped out the legacy attachment level counters in favor of the already existing runtime statistics. Introduced a record lock counter (more to follow). 2012-11-01 00:16:55 +00:00
dimitr
9f2a992078 Implemented:
CORE-2780: Include client library version and protocol version in mon$attachments
CORE-2187: Return the Hostname in mon$attachments
CORE-3779: Report OS user name in MON$ATTACHMENTS
+ some cleanup.
2012-09-12 07:45:51 +00:00
dimitr
5f917a04ce Minor cleanup and simplification. 2012-08-28 18:19:09 +00:00
alexpeshkoff
0fc893a4e1 Better names for API functions 2012-06-26 13:43:26 +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
d78703c9ae Improvement CORE-3539 : TRACE: add ability for logging ERRORs that occur in runtime (lock conflicts, PK/UK/FK violations et al) 2012-05-15 07:56:24 +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
asfernandes
580172419b Misc. 2012-04-23 00:48:28 +00:00
hvlad
536c08cc01 Fixed bug CORE-3825 : If an autocommit transaction (i.e. transaction started with isc_tpb_autocommit option) run DDL using EXECUTE STATEMENT it will produce a bugcheck 287 (Too many savepoints) 2012-04-20 20:03:15 +00:00
hvlad
96a7fa2576 Front ported fix for bug CORE-3812 : Connection lost to database during massive dropping and altering primary keys of tables 2012-04-12 13:03:25 +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
1ceb4847e1 Make plugins use passed instance of master interface, not one got from fb_get_master_interface(). This helps in case when >1 fbclient libraries is loaded by process. 2012-03-26 11:34:52 +00:00
alexpeshkoff
2f7c526728 Implemented CORE-3788: Make all utilities follow same rules when expanding database name 2012-03-14 08:46:27 +00:00
hvlad
52f3ed895e Fixed Windows build 2012-03-01 18:18:46 +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
alexpeshkoff
12cf01d608 Cleanup unneeded parameter (was used in nbackup, where PIO is replaced with OS function calls) 2012-02-28 11:08:30 +00:00
asfernandes
435666cea5 Misc. 2012-02-26 14:27:27 +00:00
asfernandes
1198014fcf Renamed error constant/message by Alex request. 2012-02-25 13:55:04 +00:00
alexpeshkoff
acd923aabb No use in specially handling DBB_security_db when closing engine. Keep it commented for a while. 2012-02-24 12:27:36 +00:00
robocop
0b5ee78cb7 Make more members of blb private. 2012-02-15 07:13:41 +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
asfernandes
27bb1f8bc1 1) Removed READ/WRITE BLOB sql commands. 2) Refactored request operations to fix server crashes. 2012-02-03 19:01:36 +00:00
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +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
e7c9ebba12 Re-implemented the disabled code in the remote server. Cleaned up the legacy logic that doesn't look actual these days.
Some code refactoring.
2011-12-22 15:32:06 +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
alexpeshkoff
70ddf7a875 Make services work correctly with multiple security databases 2011-10-04 12:51:57 +00:00
asfernandes
5ae632cf0b Feature CORE-1288 - Sub Procedures.
They're very simple for now. No access to parent variables nor to call neighbour procedures.

Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBPROC_1.output.
2011-10-02 22:11:41 +00:00
hvlad
dc4abc05e4 Protect system attachments list with dedicated sync object. It prevents deadlocks with common sync object on process shutdown. 2011-10-02 10:19:06 +00:00
dimitr
b528faa162 Corrections. 2011-09-22 15:14:36 +00:00
dimitr
6c9840c261 Misc. 2011-09-20 15:31:47 +00:00
asfernandes
e1c4f46df2 Misc. 2011-08-13 17:07:01 +00:00
alexpeshkoff
b76a2d8c47 Getting ready for support of multiple security databases in services 2011-08-09 12:11:17 +00:00
asfernandes
4675f8d2d2 Fix build. 2011-08-05 02:10:05 +00:00
asfernandes
577e9e4b7e Misc. 2011-07-02 22:10:07 +00:00
hvlad
7cb28a7af6 Fixed some AV's reported privately 2011-06-29 20:18:37 +00:00
asfernandes
47489fa71b Misc. 2011-06-26 18:48:00 +00:00
robocop
5ad96271e6 Misc. 2011-06-24 06:34:16 +00:00
alexpeshkoff
18ef64b242 Fixed UnloadDetector in a case when it gets linked in non-plugin module 2011-06-14 11:34:26 +00:00
hvlad
81cec16f83 Fixed leak of SysAttachment instance. Noted by Claudio. 2011-06-13 11:09:19 +00:00
alexpeshkoff
40348295e1 Used upgradeInterface() in a number of places.
Fixed memory leak when unloading module, related with upgraded interfaces.
Fixed timer on posix to be high resolution.
Better diagnostic in services.
2011-06-10 12:53:51 +00:00
alexpeshkoff
4c02901734 Fixed segfault in execute statement, reported by Dmitry privately 2011-06-03 15:29:01 +00:00
asfernandes
e2bd4d0e55 Fixed CORE-3511 - Unquoted role names with non-ASCII characters passed in DPB are upper-cased wrongly. 2011-06-03 14:19:54 +00:00
asfernandes
2c9dd7e1ff Misc. 2011-05-28 02:05:45 +00:00
alexpeshkoff
2f85b664d7 Avoid deadlocks in timers. Fixes use of timers to delay plugin modules unload. 2011-05-27 11:31:29 +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
19cbed237b Misc. 2011-05-21 18:56:02 +00:00
alexpeshkoff
4641d2de68 Better interfaces hierarchy: all of them are derived from IVersioned 2011-05-19 16:24:46 +00:00
alexpeshkoff
85b3b5cf95 Interface for 2PC (distributed transactions coordinator) 2011-05-19 11:38:38 +00:00
asfernandes
7b72429210 Misc. 2011-05-13 01:15:18 +00:00
asfernandes
2fd18f68c9 Lets try to avoid global functions using name with mixed new (functionName) and old SUBSYS_name name style. 2011-05-11 17:42:44 +00:00
hvlad
479a7f600d Renamed currentProvider to EngineProvider to better reflect its nature and corrected its declaration (with Alex permission ;). Removed unneeded cast. 2011-05-11 14:45:56 +00:00
hvlad
177b43306c Adjust order of releasing metadata objects when attachment is released.
It also avoids assert in MET_verify_cache() pointed privately by Alex.
2011-05-11 09:39:57 +00:00
asfernandes
1c5770da81 Warning / error. 2011-05-11 02:43:39 +00:00
asfernandes
d0c2265105 Misc. 2011-05-10 01:12:14 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
asfernandes
69dc52ba48 Integrate IAttachment and ITransaction in the external engines API. 2011-05-07 19:52:44 +00:00
asfernandes
0b2ffeae81 Misc. 2011-04-30 02:28:31 +00:00