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
alexpeshkoff
c076b1d8c1
Added delay before unloading plugin module after last reference to that module outside plugin manager is gone
2011-04-29 16:24:27 +00:00
alexpeshkoff
d6f972c737
Check att_in_use before cancelling operation of attachment
2011-04-27 06:31:11 +00:00
asfernandes
a38da2a1bf
Correction for statement repreparation.
2011-04-26 15:23:33 +00:00
asfernandes
9754526943
Misc; reinterpret to static casts; correction in YRequest version.
2011-04-26 01:00:33 +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
asfernandes
d7127242c7
Improvement CORE-3446 - Allow conversion from/to BLOBs and others types in the API functions (XSQLVAR or blr messages).
2011-04-19 15:24:26 +00:00
asfernandes
b781d62d4a
Make the new BLOB API use void* buffers, so applications can read/write char* strings or any other type without casts.
2011-04-15 18:54:02 +00:00
dimitr
77916f05f7
Fixed possible deadlock between the shutting down engine and the running service. Reported by RedSoft.
2011-04-15 16:37:31 +00:00
asfernandes
c63493ffba
Added metadata support to IStatement.
2011-04-14 01:03:43 +00:00
alexpeshkoff
437d841cfa
Rolled back my commit using IBlrMessage interface. Replaced with single plain structure FbMessage.
2011-04-13 12:41:40 +00:00
alexpeshkoff
e58f56c12f
Fixed memory leak - thanks to Adriano
2011-04-11 11:22:03 +00:00
asfernandes
04bb4ba305
Remove unused parameter and rename a constant.
2011-04-09 20:00:00 +00:00
alexpeshkoff
9a4689d3e9
Use interface IBlrMessage instead passing C++ class pointer to API interface's functions
2011-04-08 16:43:05 +00:00
alexpeshkoff
4c3f87d6bd
Continued renaming interfaces. Added comments
2011-04-08 15:18:50 +00:00
alexpeshkoff
5c88e478f6
Use better names for a number of objects according to Vlad's suggestion
2011-04-07 17:16:00 +00:00
asfernandes
03ce334e2b
Misc
2011-04-04 13:37:47 +00:00
asfernandes
20bfe736bb
New YValve implementation.
2011-04-02 19:38:50 +00:00
robocop
37db77d1ea
Misc, style, etc.
2011-04-02 04:47:22 +00:00
alexpeshkoff
9ef53b65e0
Remove reference counting where not appropriate
2011-03-31 13:44:22 +00:00
hvlad
d49336c110
Fixed bug CORE-3419 : Recurse leads to hangs/crash server
...
The rollback() and a friends should be reconsidered when (if) multy-db transactions will be possible to start at engine (i.e. not at y-valve) level.
2011-03-31 09:41:38 +00:00
asfernandes
166c41c5b1
Move transactRequest, createBlob, openBlob, getSlice, putSlice and ddl from ITransaction to IAttachment.
...
It's better to have one standard than two, and "ddl" was broken from API POV.
So make the IAttachment always the caller, explicit or implicit (via IStatement or IRequest), and pass the ITransaction as parameter.
2011-03-21 21:56:47 +00:00
asfernandes
c863db6e6d
Removed commented out Sqlda support and rename methods removing the word 'messsage'.
2011-03-20 19:15:55 +00:00
asfernandes
34fd6866bc
Remove unused message types.
2011-03-20 19:15:13 +00:00
asfernandes
2ce201f4ae
Use MessageBuffer in executeMessage and fetchMessage.
2011-03-20 19:14:03 +00:00
alexpeshkoff
f6914b8db0
Added timer-related interfaces. Added helper method to wait for plugin to be released on shutdown. Misc stability changes in PluginManager.
2011-03-16 11:04:04 +00:00
asfernandes
146448b877
Misc
2011-03-06 01:06:36 +00:00
alexpeshkoff
7c8bacb692
Detect forced unload of plugin by OS when process is exited
2011-03-04 15:49:37 +00:00
alexpeshkoff
0a7c3fc69d
Fixed CORE-3369: first step to make it possible to specify non-default security database for specific database
2011-03-02 13:42:56 +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
asfernandes
7800060e22
Misc
2011-02-04 23:58:10 +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
asfernandes
ccaaca7c72
Misc
2011-01-29 17:24:29 +00:00
dimitr
e0f5a68da0
More work on enlarging the message buffers. To be continued.
2011-01-28 18:50:27 +00:00
dimitr
fcf42108da
Refactoring. Mostly short->long replacements for various buffer sizes.
2011-01-28 17:12:22 +00:00
asfernandes
248ddfa04a
Misc
2011-01-28 00:58:32 +00:00
alexpeshkoff
742b308173
Avoid to early shutdown of engine
2011-01-26 18:06:01 +00:00
alexpeshkoff
eb11598570
Implement Thread::kill for posex threads. Do not support separate Thread::closeHandle - move it inside kill and waitForCompletion
2011-01-24 16:36:29 +00:00
hvlad
1e6135ec40
Fixed main reason of AV at engine DLL unload time. More fixes will follow soon.
2011-01-24 13:20:25 +00:00
hvlad
dca44e309d
Make it compiles on Windows after Alex's changes. MSVC10 build will follow later.
2011-01-24 12:51:32 +00:00
alexpeshkoff
ddaddccb97
Fixed bug, found by Adriano - destructor of statically allocated factory should better never be called
2011-01-17 12:17:24 +00:00
asfernandes
233093cee4
Misc
2011-01-16 02:16:15 +00:00
alexpeshkoff
d6fcde387b
New plugin manager. Use it for all types of plugins.
2011-01-14 17:31:40 +00:00
asfernandes
9c42d4e5af
Finish the statements refactor in the engine. Get rid of jrd_nod.
2010-12-04 22:15:03 +00:00
alexpeshkoff
49a677b1fd
cleanup
2010-11-19 17:32:21 +00:00
dimitr
8573d02653
Correction.
2010-11-08 09:23:40 +00:00
dimitr
cc1c1e8b20
Fixed CORE-3218: Statement cancellation request might be silently ignored by the currently running SQL code.
2010-11-08 09:16:50 +00:00
alexpeshkoff
0ab6c4abf7
Avoid throwing C++ exceptions from authentication plugins
2010-10-28 08:02:42 +00:00
alexpeshkoff
3afd884f5b
Temporal quickfix for working engine shutdown
2010-10-14 11:13:29 +00:00
alexpeshkoff
e05c1a825f
Moved some more .h-files to common from jrd as Vlad suggested
2010-10-13 10:39:52 +00:00
asfernandes
91384eb587
Misc
2010-10-12 17:40:27 +00:00
alexpeshkoff
83d6a2f88c
Restored a lot of changes, rolled back by me unintentionally
2010-10-12 11:36:51 +00:00
alexpeshkoff
2dc25a44bb
OSRI and new posix build
2010-10-12 08:02:57 +00:00
hvlad
6a37e8c261
Fixed bug CORE-3170 : Engine could enter infinite loop if EVENT's are posted but no subscribers exists
2010-10-08 11:57:57 +00:00
asfernandes
173b23109c
1) Better organization between request and statement. 2) Consts.
2010-08-05 15:55:49 +00:00
hvlad
ee2be8aca8
Improvement CORE-3008 : Add attachment's CHARACTER SET name into corresponding trace records
2010-05-19 16:25:50 +00:00
alexpeshkoff
ea1b1843d8
Cleaned up macro BOOT_BUILD, boot ObjModuleType in posix build and a lot of related steps in posix build
2010-05-18 13:32:30 +00:00
asfernandes
d6e4b53865
Misc
2010-05-08 02:25:58 +00:00
hvlad
7acd5e6dee
Fixed bug CORE-2993 : Fatal lock manager error "Invalid lock id (NNN)" while working with monitoring tables on a highly loaded system
2010-05-06 17:51:06 +00:00
alexpeshkoff
8b4d53703d
Cleaned isc_dpb_sys_user_name and related things
2010-04-21 12:55:43 +00:00
alexpeshkoff
6ce27a1c80
Unified user name reported by TraceFailedConnection with the rest of places - thanks to Dmitry
2010-04-21 12:28:16 +00:00
robocop
b682a6c39c
Misc.
2010-04-21 10:41:22 +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
alexpeshkoff
88b8a40a04
1. Cleaned up most of SUPERSERVER usage.
...
SUPERSERVER has 4 different meanings in our code:
- this is milticlient server (replaced with Config::getMultiClientServer())
- use shared data cache (replaced with Config::getSharedCache())
- use shared metadata cache (replaced with macro SHARED_METADATA_CACHE)
- database are NOT shared between processes (replaced with getSharedDatabase())
2. Use fb_smp_server as both superclassic and classic binary on posix
(xinetd autodecection is done).
3. Small posix build cleanup.
2010-04-15 14:40:27 +00:00
dimitr
871ffb24d3
Extending the message size limit from 64K to 4G. First stage.
2010-04-08 11:14:57 +00:00
dimitr
ba31d12978
Make the [priorly wrong] assertion working as intended.
...
Little cleanup.
2010-04-08 04:13:48 +00:00
asfernandes
5ac2130415
Cleanup - switch from pointer arithmetics to sane way to get impure places
2010-04-05 21:20:08 +00:00
robocop
08bedf3ae3
Style.
2010-04-04 08:51:31 +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
dimitr
63bedffa71
Refactored the sorter into a proper class.
...
Removed some dead code and unused files.
2010-03-16 11:19:29 +00:00
asfernandes
77a2706b73
Misc
2010-03-01 02:14:36 +00:00
alexpeshkoff
e5017f1a12
Extend format of firebird configuration file with a set of additional parameters for any parameter.
...
Use traditional firebird configuration files format in all places (intl, trace, etc.).
Add per-database configuration facility to aliases.conf (currently 15 parameters from firebird.conf).
2010-02-28 18:00:51 +00:00
dimitr
fbbc7a2432
Restored the legacy explicit checks for NULL objects instead of hiding that check inside checkHandle() and isHandleKnown().
...
This improves the readability and also fixes the [possible in the future] issues with multiple inheritence.
2010-02-02 14:14:00 +00:00
dimitr
2cc68110fd
Fixed CORE-2840: Engine crashes if the NULL attachment handle is passed from the Y-valve.
2010-02-02 08:28:09 +00:00
hvlad
672cdb5704
Fixed bug CORE-2824 : Small memory and handles leak at every connect\disconnect
2010-01-23 16:28:40 +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
876167f147
Misc
2010-01-04 00:48:40 +00:00
robocop
8141afe475
Put more strings into the msg db.
2010-01-03 10:46:42 +00:00
asfernandes
e13a0e3865
Misc
2010-01-01 20:23:52 +00:00
alexpeshkoff
443f261abf
Introduce isc_dpb_version2 - format is WideTagged.
2009-12-30 15:24:16 +00:00
robocop
06a4224d0b
Put class Attachment in its own files by brute force.
2009-12-25 09:55:05 +00:00
asfernandes
020e80501c
Detect charset not found
2009-12-19 15:06:56 +00:00
alexpeshkoff
4f249d5269
Frontported - fixed delivery of status vector from service thread
2009-12-18 12:42:26 +00:00
asfernandes
914ef4ca97
Front-port fix for CORE-2804 - Problems with COMMENT ON and strings using introducer (charset)
2009-12-14 15:16:55 +00:00
asfernandes
925bcc9cf6
Misc / warnings
2009-12-10 00:02:01 +00:00
alexpeshkoff
66e980a1f2
Frontported fixed of bugs, found during 2.5.0.RC1 QA - incorrect message when lockdir is not accessible; broken yValve behavior when lockdir is not accessible; bad access rights on lockdir in init.d startup scripts
2009-12-08 15:02:09 +00:00
robocop
271560ff91
Make clearer that we are working with binary, untranslatable blobs.
2009-12-07 05:32:08 +00:00
asfernandes
fbcaf72adf
Move and rename methods
2009-12-06 19:11:25 +00:00
asfernandes
b3266b2106
No need to convert sql_state and fallback to original exception logic in "catch (...)" to preserve status vector - things noticed by Claudio
2009-12-06 14:13:07 +00:00
robocop
85540e5b0e
Misc.
2009-12-06 11:21:18 +00:00
asfernandes
7a78601ef2
1) Use metadata character set in DSQL cache
...
2) Make exceptions in metadata charset and convert them to the client charset - this should fix CORE-2431
3) Support for "internal" (engine) DSQL statements and use in COMMENT ON
2009-12-05 14:21:52 +00:00
asfernandes
7d52a84520
Misc
2009-12-02 00:35:55 +00:00
alexpeshkoff
5a5489ab40
Fixed CORE-2778: SegFault in services when using same handle in different threads
2009-12-01 11:45:32 +00:00
hvlad
6db9d419b3
Improve performance a bit.
2009-11-30 09:25:49 +00:00
robocop
409ab220b0
- Eliminate the LOG page.
...
- Eliminate the useless bumped transaction
- Close the gaps in flags related to indices (btr_* in ods.h)
- Close the gaps in header page clumplets types (HDR_* in ods.h)
- Close the gaps in header page flags (hdr_* in ods.h)
Please do a full rebuild.
2009-11-28 08:04:04 +00:00
dimitr
5e6e42a180
Fixed the layering.
2009-11-25 09:44:14 +00:00
robocop
1ea6640b82
Comments.
2009-11-25 09:16:52 +00:00
robocop
804ad6048a
Restrict us to ODS11 and ODS12 until the dust settles down.
2009-11-24 11:42:56 +00:00
robocop
9ce4040042
Replace the now obsolete dbb_minor_original by dbb_minor_version.
2009-11-18 12:02:00 +00:00
asfernandes
c3ae6a708b
Create new message recommended by Claudio
2009-11-17 14:22:16 +00:00
robocop
c544e2c98f
Misc.
2009-11-15 09:12:03 +00:00
asfernandes
d9ce9ca48f
Fully deprecate isc_ddl.
2009-11-15 00:38:12 +00:00
hvlad
bc9ad95c82
Fixed bug CORE-2731 : Recursive EXECUTE STATEMENT works wrong
2009-11-05 22:42:46 +00:00
verbguy
8192bf7723
fix a bunch of 64-bit sign extension warnings, reported by Sun Studio option, -xport64=implicit
2009-11-04 15:15:57 +00:00
dimitr
e6909de7f7
Wipe out the SCROLLABLE_CURSORS code + minor cleanup.
...
Also, surfaced scrollability for PSQL cursors (without internal support yet).
2009-10-31 06:25:01 +00:00
robocop
07dc116ed2
Misc.
2009-10-30 10:50:59 +00:00
asfernandes
dc5edd5aed
Misc
2009-10-23 00:42:40 +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
asfernandes
dbed23fafc
Misc
2009-10-03 00:52:23 +00:00
hvlad
10d185d653
Report alias (if present) instead of expanded file name at failed attach event
2009-10-02 13:22:08 +00:00
alexpeshkoff
60a115efc2
Fixed CORE-2601: fine tuning of the installation directories does not work in configure
2009-09-11 10:49:46 +00:00
dimitr
8e36474f76
More explicit (and shorter) life-time for sort blocks. Now they belong to either requests (user sorts) or transactions (index sorts).
...
This also resolves CORE-2477: mon$memory_usage: Sorting memory should be reported as owned by the statement.
2009-09-04 06:11:55 +00:00
robocop
e2bb3fec13
Delete unused function param.
2009-09-04 04:19:09 +00:00
alexpeshkoff
9629eafccd
Use per-thread circular strings buffers instead common and per-attachment combination
2009-09-01 09:20:24 +00:00
dimitr
56778ac8f4
Introduced the fb_ping() provider call (it's not exported thus it doesn't belong to the public API).
...
Currently only the engine supports this call. To be extended for the remote provider and exported as public in v3.0.
Used this new call to implement asynchronous (read: immediate) disconnection of the shutdown attachments.
2009-08-25 11:16:32 +00:00
robocop
a7c7f15e40
Forgot this when changing PAR_parse, CMP_compile2 and friends (not important).
2009-08-08 11:08:39 +00:00
robocop
e90fc8d63f
Change the interface again. Please full rebuild (although the many recent changes to common.h almost qualify as full rebuild).
2009-08-05 12:30:32 +00:00
robocop
40169fefcb
Style.
2009-08-05 04:48:49 +00:00
asfernandes
4759973045
Fixed CORE-2576 - Server may crash parsing wrong or truncated BLR
...
Full rebuild required - CMP_compile2 prototype changed
2009-08-02 04:10:07 +00:00
robocop
8cb338c96d
Misc.
2009-07-21 09:46:11 +00:00
asfernandes
0fa5b3fdc4
Do not return isc_no_cur as warning, as it's an error - thanks to Dmitry
2009-07-16 13:09:00 +00:00
asfernandes
5063bafc36
Misc
2009-07-15 03:13:16 +00:00
dimitr
f3a6111efa
Let's not throw any shutdown related errors when rescheduling happens during the detaching (rare but possible case).
2009-07-13 15:40:32 +00:00
alexpeshkoff
caf50ce2b3
Fixed CORE-2526: Server can be shut down disregarding services' connections
2009-07-13 12:09:37 +00:00
robocop
de4be11750
Misc.
2009-07-13 10:00:43 +00:00
asfernandes
e26c3083f8
Improvement CORE-2551 - Interpret DPB items as now the database name parameter is interpreted and change MON$ filenames fields from NONE to UNICODE_FSS.
2009-07-11 19:58:28 +00:00
alexpeshkoff
eb92d79ade
Fixed CORE-2518: Can no longer connect to database when using isc_dpb_num_buffers parameter, Make SS ignore it silently.
2009-07-10 12:31:12 +00:00
asfernandes
26c1892310
Misc
2009-06-20 18:46:59 +00:00
robocop
70040bd913
Related to CORE-2509.
2009-06-19 11:10:34 +00:00
robocop
6bfacad413
CORE-2509. Took the opportunity to fix several data types.
2009-06-18 12:07:07 +00:00
asfernandes
78f400fc5b
Misc
2009-06-09 00:56:58 +00:00
hvlad
78aeb9f520
Use unsigned char in ntrace.h where appropriate, as Claudio suggest
2009-06-08 14:59:58 +00:00
asfernandes
2d8d9dd7b2
Improvement CORE-2498 - Make a single attachment usabe by more than one simultaneous threads in embedded
2009-06-06 01:08:19 +00:00
hvlad
89f79fb683
Fixed bug CORE-2454 : AV enumerating attachments in SS\SC if more than 8 databases is attached
2009-05-07 14:29:37 +00:00
robocop
66b1227b22
Unused params, some formatting, cleanup.
2009-05-01 17:21:36 +00:00
robocop
3343776e96
More unused params.
2009-04-28 14:13:46 +00:00
robocop
2d7cb94844
Unused params
...
Some BLR checks
2009-04-28 13:08:04 +00:00
asfernandes
f6f364da49
Trim trailling spaces
2009-04-04 16:39:31 +00:00
dimitr
1b8384583f
1) Some simplification inside JRD_reschedule()
...
2) Cleaned up the unused ALL routines, the only remainings from the old allocator code.
2009-04-01 11:33:30 +00:00
alexpeshkoff
9e15274a45
Fixed warning
2009-03-27 16:13:00 +00:00
roman-simakov
1a4949891b
Refactored NBackup subsystem.
...
1) Fixed CORE-1696 - "Deadlock in LM by using nbackup utility" with priority rating of lock requesting for LCK_backup_database and LCK_bdb.
2) A lot of stability fixes were made.
3) The key thing is using new GlobalRWLock for removing LCK_set_owner_handle function and speed up performance.
4) The code is still ready for using both in shared cache architecture and in claster architecture.
2009-03-17 07:39:55 +00:00
hvlad
1880c5c0dd
Clear metadata cache at database shutdown to correctly release used resources.
2009-03-15 18:05:04 +00:00
hvlad
4e0807690f
Better fix for CORE-2183 : Error in ExtDS when server shutdown started with opened Execute Statement.
...
Make EDS handle broken connection properly
2009-03-13 13:17:20 +00:00
hvlad
0c1e3269b2
Fixed AV when engine shutdown started during isc_attach_database call execution
2009-03-13 09:55:07 +00:00
asfernandes
af33aefd19
Misc
2009-03-12 01:39:52 +00:00
hvlad
002ec6672a
Fixed bug CORE-1980 : Sweeper consumes 100% CPU forever.
...
Also avoid start transaction if no ON CONNECT\ON DISCONNECT triggers defined.
2009-03-09 18:33:01 +00:00
alexpeshkoff
19fa8a3489
Fixed CORE-2351: Aliased database can't be created
2009-03-05 15:18:38 +00:00
asfernandes
d369e26979
1) Fix posix build
...
2) Remove some warnings
2009-02-15 14:45:37 +00:00
alexpeshkoff
b279aa384b
Cleanup
2009-02-10 14:20:13 +00:00
alexpeshkoff
1b9a6858e4
Disabled use of isc_dpb_num_buffers on SS to avoid unpredictable shared cache behavior
2009-02-10 11:33:05 +00:00
dimitr
eeb13b8191
Misc.
2009-02-10 09:30:55 +00:00
hvlad
1baef37856
Add "paranoid check" suggested by Claudio
2009-02-10 08:56:32 +00:00
robocop
a18dc0519f
Misc, style, fixing dangerous warnings, constness, etc.
2009-02-08 11:23:46 +00:00
dimitr
e832df7b5f
In JRD entrypoints, tdbb_status_vector is always equal to user_status.
...
So let's deal with the explicitly passed user's vector instead of the implementation detail that's likely to disappear soon.
2009-02-05 08:53:47 +00:00
asfernandes
75c0d0f353
Misc
2009-02-05 01:08:13 +00:00
alexpeshkoff
2da14652dd
Avoid use of class PluginManager
2009-02-04 11:39:37 +00:00
hvlad
2d1149cd7b
Distinguish create\attach database call's when reporting failed attempt.
...
Misc.
2009-02-02 16:04:21 +00:00
hvlad
b2104c5924
Correction
2009-02-02 15:41:23 +00:00
alexpeshkoff
4821c8a329
Do not AC_CONFIG_FILE twice
2009-02-02 15:23:50 +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
hvlad
325ec850c1
Don't report error status as succesfull
2009-02-01 21:54:48 +00:00
dimitr
1b3927b026
1) Globally named per-database shmem regions.
...
2) Slightly reworked monitoring internals.
3) Encapsulated the event manager, many internal changes there.
4) Various cleanup, etc.
2009-01-28 12:27:18 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
alexpeshkoff
16fac29611
Fixed error handling in GDS_SERVICE_QUERY
2009-01-16 15:00:52 +00:00
alexpeshkoff
7d1e52e763
Fixed CORE-2271: gfix reports db ownership error way too late (and related cleanup)
2009-01-11 12:04:30 +00:00
robocop
4e167d6fa6
Style.
2009-01-08 09:26:06 +00:00
dimitr
deb5454ef0
Restored the original (legacy) way of returning the successful status vector.
...
But added an assert to track an unexpected status vector contents early in debug builds.
Slightly refactored the error handling for events, partially synchronized the globals there.
Plus some basic const'ness, better tdbb scope, etc.
2009-01-06 15:32:01 +00:00
asfernandes
fbac6e72c3
Fixed CORE-2264 - ALTER DOMAIN with dependencies may leave a transaction handle in inconsistent state causing segmentation faults
2009-01-03 02:40:00 +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
5c97a235e3
Misc
2008-12-24 00:32:49 +00:00
robocop
5f6113f63b
Change param type from SLONG* to UCHAR* because we gain nothing with the old declaration, except forced casts.
2008-12-22 10:06:43 +00:00
robocop
2fadc0e456
Style.
2008-12-22 09:00:05 +00:00
robocop
e63b46bb9c
There's no need to check whether a pointer is null before applying delete or delete[].
2008-12-21 03:50:29 +00:00
robocop
95292d1731
Style.
2008-12-20 08:12:19 +00:00
dimitr
2b87e94242
Use explicit iterators instead of the implicit (built-in) ones due to the thread-safety requirements.
...
This change affects GenericMap only, as it's used globally in a few places and we have a proven crash there.
I have a more complete solution (total cleanup of default accessors from BePlusTree and SparseBitmap) in my local tree (thanks to Dmitry Kovalenko), but it's incomplete (requires more changes inside the engine) and IMHO risky (~20 core modules are affected), so I'd like to defer finalization of this cleanup till v3.0.
All objects of these types seem being protected by dbb_sync, so they shouldn't cause us any problems currently.
2008-12-19 14:57:01 +00:00
asfernandes
d03b6ede7f
Misc
2008-12-18 01:24:58 +00:00
asfernandes
84dfa0e092
Fixed CORE-316 - Can't open database with MBCS/Extended characters in name.
...
Documentation soon.
2008-12-15 14:59:34 +00:00
robocop
511c7eb7d8
Promote thread_data* as function argument.
2008-12-14 10:19:27 +00:00
robocop
e4650d5027
Promote thread_data* as function argument. Only exception where both tdbb and dbb were left together as arguments is nbak.cpp's call to CCH_rollover_to_shadow to avoid any side effect in the changed code, but anyway, that function calls SDW_rollover_to_shadow that takes the dbb from the tdbb and not explicitly.
2008-12-14 09:28:25 +00:00
dimitr
40d041d628
Fixed the issue reported by Philippe. To be backported after more testing.
2008-12-12 16:04:57 +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
8fbf0e8e8c
Remove trailing spaces (.cpp files)
2008-12-05 01:20:14 +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
hvlad
62ca23fa58
Fixed bug CORE-2183 : Error in ExtDS when server shutdown started with opened Execute Statement
2008-11-17 12:30:28 +00:00
asfernandes
d8855e2e47
Misc
2008-11-14 14:15:37 +00:00
alexpeshkoff
e9162ee2f2
Fixed CORE-2179: Deadlock when trying to shutdown server with opened ExecuteStatement
2008-11-12 14:32:18 +00:00
dimitr
8e72ece026
Uncouple Mutex and RefMutex. This resolves the circular dependency: "AtomicCounter->Mutex->RefCounted->AtomicCounter" and thus enables all non-x86 POSIX builds.
2008-10-19 11:41:43 +00:00
roman-simakov
8edd7733d4
Fixed authentication bug with sysdba login written in lowercase letters.
2008-10-14 10:05:10 +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
hvlad
97bf925499
Use fb_utils::init_status instead of status[0] = 0
2008-09-10 11:41:36 +00:00
alexpeshkoff
5be80cc7f5
Restored missing line - thanks to Claudio
2008-09-01 08:56:17 +00:00
asfernandes
96194d08ba
Misc
2008-08-31 01:10:41 +00:00
asfernandes
8497cd4307
Misc
2008-08-28 15:39:51 +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
asfernandes
8f9b451ce9
Rework of ib_util changes. Dynamically load it in the engine and inform callback functions to alloc and free memory. Allocate memory from the default pool.
2008-07-12 21:23:42 +00:00
robocop
a302401357
Misc.
2008-07-09 12:34:43 +00:00
dimitr
609f466ad3
1) Fixed the layering, as dbb_lock shouldn't belong to PIO.
...
2) Passed tdbb to some engine routines that were dealing with TLS.
3) Got rid of fil_length and some minor cleanup.
2008-07-09 08:40:31 +00:00
robocop
534abf1560
const
2008-07-08 06:44:53 +00:00
alexpeshkoff
81579840ab
Renamed function
2008-07-07 13:33:28 +00:00
alexpeshkoff
7fe33f3e5d
Fixed CORE-1972: Non-SYSDBA user can change FW mode of database
2008-07-07 10:42:17 +00:00
asfernandes
45786da3bc
Misc
2008-07-06 16:42:52 +00:00
robocop
80ba24a605
Fixing the Win32 build after Alex' changes.
2008-07-06 11:03:09 +00:00
alexpeshkoff
5ac5869661
CORE-1964 - stop vararg mess when reporting errors. Use special class for it. More (ERR_post cleanup) to come.
2008-07-03 12:02:54 +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
hvlad
81c1e2e604
Correct error in my previous commit.
2008-06-24 12:02:29 +00:00
hvlad
ac03047011
1. Make work with databases_mutex more consistent (lock\unlock it at the same scope of code).
...
2. Restore accidentally broken pause when attempt to brute-force login\pwd is detected
2008-06-24 11:56:17 +00:00
asfernandes
af1d955da6
Improvement CORE-1937 - Detect (instead of crash) FREE_IT UDFs that return pointer not allocated by ib_util_malloc
2008-06-14 22:16:40 +00:00
dimitr
9a9d48c45d
Restored the missing (wrongly cleaned up) parts of the thread priority logic (still useful for the current SS).
2008-06-09 08:10:11 +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
bff84e9e7a
Cleanup.
2008-06-06 15:55:36 +00:00
alexpeshkoff
b85be10e63
Fixed static variables in verify_database_name() - thanks to Claudio
2008-05-21 08:40:58 +00:00
alexpeshkoff
17061d4280
Make fb_cancel_operation() behave better when enable/disable command is used
2008-05-12 13:36:22 +00:00
hvlad
422338e5e3
Lock att_mutex in Attachment's constructor
2008-05-08 07:45:19 +00:00
dimitr
2c7acdef79
Cleanup of the disabled/unused code.
2008-05-07 10:39:24 +00:00
dimitr
7edcee435b
1) Turn on FW on all platforms by default.
...
2) Cleanup/misc.
2008-05-07 05:18:09 +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
asfernandes
b30236303d
Misc
2008-05-05 02:22:53 +00:00
hvlad
a8d9303dc7
Restore att_mutex blocking logic as prior commit broked EXECUTE STATEMENT. Add extra mt protection in cancel_attachments.
2008-05-04 21:24:33 +00:00
alexpeshkoff
7ff8e4d2be
Fixed CORE-1879: Server uses wrong authentication method
2008-05-04 13:38:02 +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
asfernandes
59673b03e8
Misc
2008-05-03 01:58:36 +00:00
robocop
ec66e1713a
Fix indentation.
2008-05-01 11:01:10 +00:00
alexpeshkoff
0ba2ab7ea7
Make fb_cancel_operation() public API call. Related cleanup.
2008-04-29 09:55:41 +00:00
asfernandes
53a2090f65
Misc
2008-04-27 02:39:51 +00:00
robocop
83d3ddd6cb
Replace custom code by helper class ThreadStatusGuard.
2008-04-26 10:29:52 +00:00
alexpeshkoff
6e04201fa5
Fixed AV: exception may be thrown when there is no attachment at all
2008-04-24 15:11:45 +00:00
asfernandes
e18ac3cb53
Misc
2008-04-24 01:53:40 +00:00
asfernandes
a599f8a49a
Fixed problems of attachment lock in Windows - thanks to Vlad
2008-04-22 15:32:33 +00:00
alexpeshkoff
9ff2935d79
Fixed CORE-1854: Value of CURRENT_USER may be not in upper case when using unix OS auth
2008-04-21 16:18:41 +00:00
asfernandes
c416ea1621
Lock the attachment handle during API calls
2008-04-20 22:54:36 +00:00
asfernandes
d75951e8e5
Misc
2008-04-18 01:37:44 +00:00
dimitr
c255169fe9
1) Simplified the internal provider API a little.
...
2) Passed the original filename (possibly an alias) via DPB. This way it can be transmitted through the remote subsystem.
Hopefully, this should fix CORE-1105, CORE-1390 and CORE-1566 at once.
Although a better hope would be that it won't break anything else :-)
2008-04-17 14:05:44 +00:00
asfernandes
77e97a47c0
Feature requests CORE-1737 and CORE-1803:
...
1) ALTER CHARACTER SET <charset> SET DEFAULT COLLATION <collation>
2) CREATE DATABASE ... [ DEFAULT CHARACTER SET <charset> [ COLLATION <collation> ] ]
2008-04-15 02:18:38 +00:00
hvlad
d5aa346176
Make provider's registration not dependent from existance of EDS::Manager instance. Noted by Adriano.
2008-04-12 21:20:26 +00:00
robocop
bbc2c20725
Misc.
2008-04-10 09:43:31 +00:00
hvlad
fe3f8c184b
New EXECUTE STATEMENT with support of external data source implementation
2008-04-09 20:18:47 +00:00
robocop
82ab872e2e
Fix comment.
2008-04-09 12:57:22 +00:00
alexpeshkoff
b237f4ebd8
Cleanup - avoid use of SUPERCLIENT macro in files, used by utilities
...
(and in some other places too).
2008-04-08 14:18:24 +00:00
alexpeshkoff
6901cc5938
Almost misc
2008-04-07 15:26:52 +00:00
asfernandes
a73aa97269
Load ib_util.dll from the install directory, to fbembed.dll loaded with altered search path be able to find it
2008-04-04 15:59:15 +00:00
asfernandes
2723814ced
Fix the problem with ib_util.dll caused by CORE-1814
2008-04-04 15:37:48 +00:00
alexpeshkoff
97b10fd3ca
Fixed forgotten terminator - thanks to Dmitry and Adriano
2008-04-04 14:47:05 +00:00
alexpeshkoff
abcbabf448
Added message for shutdown timeout failure
2008-04-04 14:20:20 +00:00
alexpeshkoff
aafed20fe1
Fixed problems with shutting down actively running engine - related with CORE-1805.
2008-04-02 14:26:17 +00:00
asfernandes
d11b683899
Fix the pool usage
2008-03-31 01:51:18 +00:00
robocop
3de79a20c9
Fixing the damn interface.
2008-03-30 09:42:24 +00:00
hvlad
5e6a939197
Set transaction handle to NULL after successful commit or rollback
2008-03-28 09:18:39 +00:00
alexpeshkoff
cbe0217664
fixed gcc warning
2008-03-27 09:14:24 +00:00
dimitr
b87b5032ef
Changes in the TimeStamp class by Dmitry Kovalenko.
2008-03-26 10:21:04 +00:00
robocop
8270e50066
make them explicit.
2008-03-22 09:02:27 +00:00
dimitr
1f22e3e1c1
1) Added proper handle validation for dbb.
...
2) Changed dbb_sync lifestyle handling.
3) Sync'ed access to the att_long_locks.
4) Put in a temporary workaround for nbackup deadlocks.
2008-03-20 16:42:29 +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
alexpeshkoff
ed25245303
Applied shutdown changes, discussed in fb-devel a week ago.
2008-03-17 16:49:47 +00:00
asfernandes
493a6eab3c
Misc
2008-03-17 02:00:16 +00:00
asfernandes
8bb723bec3
Validate (and store in tdbb) non-NULL transaction handles
2008-03-16 19:30:00 +00:00
asfernandes
c7ec88bee4
1) Created classes PreparedStatement and ResultSet
...
2) Changed EXECUTE STATEMENT to use these classes
3) Fixed CORE-1784 - Error with EXECUTE PROCEDURE inside EXECUTE STATEMENT
2008-03-13 16:37:20 +00:00
dimitr
ebad313cfd
1) Fixed CORE-1788.
...
2) Protected from other similar deadlocks.
3) Refactoring.
2008-03-13 14:20:32 +00:00
dimitr
afb970dba1
1) Cleanup.
...
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
robocop
c407e8cd0e
Make member function inline.
2008-03-12 07:16:26 +00:00
robocop
dadefcb479
Binary things are UCHAR. Let's try to fix them from the innermost layer to the outermost layer until we can fix the public interfaces.
2008-03-10 09:31:40 +00:00
asfernandes
74d8711856
Misc
2008-03-08 21:20:26 +00:00
robocop
b1b7634b3d
Since SCL_release changed meaning, it's necessary to adjust the name (SCL_release_all) and the comments.
2008-03-08 11:37:15 +00:00
asfernandes
0b6ecafe1b
1) Remove REPLAY_OSRI_API_CALLS_SUBSYSTEM code
...
2) Remove internal y-valve function INTERNAL_COMPILE_REQUEST
3) Go direct to engine internals from DSQL, without need to exit/enter the attachment lock and check exceptions in status vector
2008-03-07 15:23:21 +00:00
hvlad
7d54298dea
Fixed CORE-1775 : Improve performance of security checking
2008-03-06 13:13:31 +00:00
hvlad
23679a8b04
Fix few race conditions during metadata load and make index lock block accounting more MT safe.
2008-03-05 14:23:19 +00:00
dimitr
d597154a4b
1) Added timeout value to the shutdown API call.
...
2) Fixed the slow fbembed detach noticed by Claudio and Vlad.
3) Cleanup.
2008-03-04 13:27:02 +00:00
robocop
8888ecb544
Let's better use UCHAR for binary streams.
2008-03-04 06:03:34 +00:00
asfernandes
e88fd596d9
Let DSQL cache lock logic in SS too - per Dmitry request
2008-03-03 15:40:56 +00:00
asfernandes
88b6f39f82
1) Restore logic of not handled exceptions
...
2) Initialize some status vectors
2008-03-03 00:47:04 +00:00
asfernandes
7a2dedaa39
Go direct to engine internals from DSQL, without need to exit/enter the attachment lock - more to follow
2008-03-02 21:16:16 +00:00
asfernandes
35688cd5d9
Cleanup: remove y-valve functions DSQL_CACHE and INTL_FUNCTION
2008-03-01 19:14:46 +00:00
dimitr
0096b53d9b
Fixed the issue reported by Dmitry Kovalenko in fb-devel. We don't need to validate the transaction handle in JRD, as DSQL does some tricks about it.
2008-03-01 08:42:31 +00:00
alexpeshkoff
48e9858b57
fixed CORE-1756: AV in isc_start_transaction (isc_start_multiple)
2008-02-29 16:44:17 +00:00
dimitr
5ca270c096
1) Cleanup SERVER_SHUTDOWN.
...
2) Make the engine shutdown asynchronous.
2008-02-29 12:47:20 +00:00
alexpeshkoff
00c63c1f8d
1. Make signals handling in yValve MT safe.
...
2. Introduce new private API calls, fb__shutdown() and fb__shutdown_callback().
3. Introduce fb_smp_server - binary to run superclassic on posix.
4. Various cleanups.
2008-02-28 18:42:30 +00:00
dimitr
99caa91b85
DSQL integration into the engine.
2008-02-28 13:48:16 +00:00
dimitr
6343ea1d84
1) Fixed a deadlock related to SecurityDatabase.
...
2) Cleaned up the code duplicated in CMP_shutdown_database(). This was a mistake in one of my prior commits.
2008-02-27 12:25:04 +00:00
dimitr
c7bbcda729
Fixed the mutex recursion in jrd8_prepare_transaction. Thanks to Dmitry Kovalenko.
2008-02-24 09:55:10 +00:00
robocop
95e59f72b5
Undo the check for 255 bytes in JRD_num_attachments (let the callers handle long paths).
...
Fix some memory leaks (at least one of them signaled by myself years ago) when calling JRD_num_attachments.
Introduce an enumeration for the "flag" parameter in the same function.
2008-02-21 04:24:42 +00:00
dimitr
0542cccc67
Cleanup the code that was never enabled.
2008-02-20 16:33:59 +00:00
dimitr
3b843d8aea
Make the memory stats SuperClassic friendly. It doesn't make the Classic logic much worse.
2008-02-20 15:29:07 +00:00
robocop
5bff502eac
Better report truncated paths than to crash due to malformed parameter block.
2008-02-20 10:20:40 +00:00
dimitr
81df8a829f
Added missing synchronization.
2008-02-19 16:50:04 +00:00
dimitr
7ae3eb5977
1) Make enumeration and shutdown routines SuperClassic friendly.
...
2) Cleanup and minor refactoring of the Classic shutdown routines.
2008-02-19 16:23:53 +00:00
asfernandes
c979d91901
Misc
2008-02-19 02:34:55 +00:00
robocop
7a0a29e234
Move some clutter out of jrd.h to Database.h and Database.cpp.
2008-02-14 12:24:27 +00:00
robocop
360cc4c31b
Style.
2008-02-14 07:31:25 +00:00
dimitr
ff9e777bc0
Cleanup, style and synchronization. Solved a few deadlocks and races during attach.
2008-02-14 07:12:13 +00:00
alexpeshkoff
dbf65528b8
Fixed CORE-1726: isc_service_start failed, use InitHolder for SecurityDatabase in services too.
2008-02-13 13:10:23 +00:00
asfernandes
627202bd84
Fix operator precedence
2008-02-11 23:32:15 +00:00
dimitr
78b4b30764
Move the dbb<->att check under the mutex protection.
2008-02-11 17:39:04 +00:00
asfernandes
4ffcaa7c5b
Misc
2008-02-10 17:26:35 +00:00
alexpeshkoff
c3e1830e12
1. Cleanup:
...
- moved Attachment constructor (big enough) into .cpp file
- avoid use of dbb in Database::get() and getUserInfo()
2. Complete fix for CORE-1726 - SecurityDatabase::init() is now not Database, but Attachment counted.
2008-02-10 16:38:30 +00:00
alexpeshkoff
18f72a7ed2
Fixed filehandles and temp diskspace leak - delete dbb_sys_trans makes it close TempSpace
2008-02-08 16:54:10 +00:00
asfernandes
691fb487d8
Misc
2008-02-06 00:43:54 +00:00
alexpeshkoff
ee6c433597
Mutexes cleanup:
...
1. Make all firebird mutexes recursive.
2. Enable exceptions to be thrown by mutexes and process them in code where needed.
3. Catch and ignore exceptions in various MutexGuard dtors.
2008-02-05 08:21:18 +00:00
robocop
4c3381ef6b
Style, constness and macro cleanup.
2008-02-03 10:41:44 +00:00
asfernandes
b39ac40c9d
Misc
2008-02-03 02:32:39 +00:00
alexpeshkoff
8901a0e003
Services cleanup - make class Service traditional C++ class
2008-02-02 18:33:37 +00:00
robocop
e9e1ead67a
Mostly style, constness, native memcpy and explicit constructors.
2008-02-02 17:04:06 +00:00
dimitr
9c9413d02e
Fixed issue spotted by Claudio privately.
2008-02-02 14:36:06 +00:00
dimitr
16814b51a6
Let's be consistent with operation order during dbb destruction.
2008-01-29 17:32:42 +00:00
alexpeshkoff
3589cebc95
Fixed some posix problems
2008-01-29 10:36:49 +00:00
dimitr
a38b327886
Cleanup. Get rid of the JrdMemoryPool.
2008-01-29 10:11:52 +00:00
asfernandes
de8771570f
Misc
2008-01-29 01:36:41 +00:00
dimitr
c0f1809bde
Let's explicitly release all locks we own.
2008-01-28 17:27:03 +00:00
dimitr
ed3817f6b6
Sigh, we have to release the dbb when doing authentication.
2008-01-26 17:33:57 +00:00
dimitr
d54edd1a13
Major synchronization changes. Description of the commit will be posted to fb-devel.
2008-01-26 13:51:33 +00:00
asfernandes
aea2bcb354
Misc
2008-01-23 19:03:16 +00:00
alexpeshkoff
39896cb955
Fixed CORE-1671: atexit() calls in client libraries cause segfaults
...
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory
To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.
Also some related cleanup.
2008-01-23 15:52:40 +00:00
dimitr
c577fde263
The merge is being fixed.
2008-01-16 12:29:45 +00:00
dimitr
d1e8f67a5d
The merge continued.
2008-01-16 09:29:37 +00:00
dimitr
516f75c010
Protect the mutex from being released twice.
2007-12-19 14:12:31 +00:00
dimitr
cf12557e36
Code simplification. We don't need to track the cancellation for the non-request activities.
2007-12-11 09:19:06 +00:00
dimitr
d276641cc8
Fixed CORE-1610 and its subtask CORE-1615.
2007-12-10 07:18:54 +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
alexpeshkoff
3e0d8ebc5b
Fixed CORE-1603: Possible buffer overflow with long user name
2007-11-19 16:18:59 +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
alexpeshkoff
a80dd39b11
Fixed CORE-1593: Full domain user name can be longer than 31 char(for trusted authentication)
2007-11-15 12:48:24 +00:00
alexpeshkoff
c4f6801e34
avoid cast
2007-11-01 17:19:54 +00:00
alexpeshkoff
8c542c5b26
Fixed CORE-1551: AV when all statements are cancelled
2007-10-30 14:50:05 +00:00
alexpeshkoff
edc03201ca
Fixed CORE-1537: NBackup creates difference file in bad place
2007-10-26 13:21:16 +00:00
dimitr
025cf5c752
Fixed CORE-1540.
2007-10-26 10:53:47 +00:00
robocop
5e135ba43f
Moved the bool before the strings.
2007-10-24 07:03:37 +00:00
robocop
3c9917e8e2
For now, we are only interested in knowing that
...
dpb_gbak_attach was specified, not in the content of the string.
2007-10-24 06:26:31 +00:00
dimitr
81a791c6bb
Allow ASTs to be delivered while the engine performs some long activity.
2007-10-15 17:45:30 +00:00
hvlad
6bc73b2260
Correction for fix for bug CORE-1443
2007-09-18 14:58:31 +00:00
hvlad
ebb55209c0
Fixed bug CORE-1468 : Database corruption possible when database file extension and read\write activity is performed simultaneously
2007-09-18 14:50:51 +00:00
hvlad
193910ff7c
Fixed bug CORE-1443 : Embedded engine may hang application on exit if no database access was performed
2007-09-06 07:52:39 +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
robocop
3a7d93f658
Misc tweaks with Firebird::string.
2007-08-26 09:53:08 +00:00
asfernandes
6beb5e28bd
Misc
2007-07-26 01:23:18 +00:00
alexpeshkoff
4a0e6d59f3
Fixed unreleased (or released in wrong order) locks in:
...
1. Dsql cache.
2. Transaction (table lock) - only when database dropped.
3. Collation - were released after database's lock.
2007-07-25 13:21:59 +00:00
alexpeshkoff
f250c52b4f
Fixed CORE-1323: NBAK not working
2007-06-15 09:28:56 +00:00
alexpeshkoff
0545a76ef6
Fixed role uppercasing - thanks to Adriano
2007-06-13 13:21:40 +00:00
alexpeshkoff
4a4a01ee98
Restored old (SYSDBA) value of CURRENT_USER during BOOT_BUILD
2007-06-09 09:25:40 +00:00
alexpeshkoff
abb9f55932
fixed option name
2007-06-09 08:38:27 +00:00
asfernandes
fbf04d54fc
Misc
2007-06-09 04:06:26 +00:00
alexpeshkoff
e5f1e63836
Fixed CORE-1312: A remote attacker can check, if a file is present in the system, running firebird server
2007-06-08 10:24:57 +00:00
alexpeshkoff
ea8ba3370d
Cleaned up mutexes - removed MUTX_T and related macros
2007-06-06 12:37:24 +00:00
asfernandes
e705b335f8
Fix non-ASCII object names in:
...
1) aliases in PLANs
2) EXECUTE PROCEDURE
3) SELECTs inside procedures/triggers
2007-05-26 22:08:13 +00:00
alexpeshkoff
f72f84ed58
Much better pool may be used here
2007-05-24 12:18:41 +00:00
alexpeshkoff
364849e5fe
Fixed ContextPoolHolder usage - in non-AST cases pool should not be 0
2007-05-24 12:13:10 +00:00
asfernandes
c67afcb4ee
Improvement CORE-1277 - Automatic transliteration of text blobs
2007-05-22 02:14:20 +00:00
dimitr
bc7c4d0054
Added remote process name to the monitoring data. Applications are allowed to override this value via DPB.
2007-05-16 07:54:33 +00:00
hvlad
395fa7f43d
Assing memory pool in tdbb at database detach.
2007-05-07 13:09:26 +00:00
alexpeshkoff
6f8fb87780
Front-ported fix for CORE-1240 - any task, using libfbclient, hangs on exit on Darwin/PPC
2007-05-03 13:52:16 +00:00
skidder
742706cc4d
Fix server crash if database file cannot be created that was introduced by our previous patch
2007-04-26 17:25:49 +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
dimitr
4c66511fbd
Correction for my old commit. Enforced rescheduling does very bad job for classic, causing a major slowdown.
2007-04-17 12:39:56 +00:00
alexpeshkoff
f0d465bf34
Fixed gcc warnings, general (un)signed usage cleanup
2007-04-11 09:28:50 +00:00
alexpeshkoff
6e735f7c53
Misc + gcc warning hunting
2007-04-09 16:15:29 +00:00
dimitr
72c5963844
Misc.
2007-04-05 04:27:29 +00:00
hvlad
79613ef6aa
Don't waste even a nanosecond copying string if we can avoid it
2007-04-04 21:38:06 +00:00