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

906 Commits

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