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

1166 Commits

Author SHA1 Message Date
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
asfernandes
032a4b170c Don't leak memory after conversion to blob for store the value in a variable or parameter 2007-03-24 03:00:22 +00:00
hvlad
b3dcfede36 Close external table's file when relation is not used by the engine.
This is simplest fix for bug CORE-132 (Restore fails on external table) and CORE-961(Free external tables)
2007-03-19 21:34:52 +00:00
dimitr
05473ab246 Front-ported fix for CORE-943. 2007-03-09 08:55:07 +00:00
dimitr
57c02cc754 Front-ported fix for CORE-1140. 2007-03-09 08:16:37 +00:00
dimitr
d3ae3fef1c Front-ported fix for CORE-1139. 2007-03-09 07:59:05 +00:00
asfernandes
e544f6fd1e Misc 2007-03-01 00:44:14 +00:00
alexpeshkoff
c877054ae5 Fix for CORE-900: Deadlock when attaching simultaneously with services and standard APIs 2007-02-28 08:40:27 +00:00
alexpeshkoff
9b2d957057 Fixed CORE-1091 - isc_service_query() showed full db file name 2007-02-26 16:17:00 +00:00
asfernandes
ba4be4f293 Misc 2007-02-26 02:13:42 +00:00
asfernandes
f73cf3e501 Initialize random seed when necessary 2007-02-26 01:01:17 +00:00
asfernandes
d87a30bf0c Misc 2007-02-23 01:42:10 +00:00
alexpeshkoff
dfef55e991 Fix for CORE-968 - Assertion failure in posix/isc_ipc.cpp 2007-02-22 16:47:39 +00:00
robocop
409ff041dd Misc and replaced "IB" by "FB" where it made sense to me. 2007-02-11 09:04:54 +00:00
dimitr
1c2de5688c Fixed (partially) CORE-1105. A half of the whole db alias idea has been broken three years ago and left unnoticed until now. Sigh. 2007-02-08 14:14:54 +00:00
alexpeshkoff
7d3949ad67 Fixed some problems, noticed by Claudio. 2007-01-28 12:17:17 +00:00
hvlad
3843604cd0 GTT related bugfix 2007-01-27 15:40:12 +00:00
asfernandes
c3d64106e0 Misc 2007-01-26 01:24:48 +00:00
alexpeshkoff
d66281291f 1. Make classic server close shutdown normally when killed by signals 2 & 15.
2. Don't leave running instances of fb_inet_server after database shutdown.
3. To make all this possible - reworked Y-Valve in general.
2007-01-20 14:45:45 +00:00
asfernandes
f30ee6b63e Use debug informations in EXECUTE BLOCK 2007-01-20 14:18:18 +00:00
asfernandes
aca179f398 Full domain support and NOT NULL in PSQL 2007-01-17 01:19:01 +00:00
dimitr
99c2df56b6 Changed cancellation implementation to work at the transaction level as being more efficient. 2007-01-07 15:15:06 +00:00
asfernandes
9493f2fb66 Fix problems with COMMIT triggers:
1) Fix a problem when the transaction could not be commited due to errors in DFW.
2) Run triggers inside a savepoint when "preparing" the transaction.
3) More doc.
2007-01-06 23:54:23 +00:00
hvlad
b9d0a9bcd6 Fixed CORE-1080 : Bugcheck 167 (invalid SEND request) in SS when many parallel attachments begin to execute trigger not loaded into metadata cache 2007-01-06 13:43:41 +00:00
dimitr
83c7f38229 Fixed CS build. 2007-01-06 06:52:43 +00:00
asfernandes
5db5421a66 Misc 2006-12-30 16:55:06 +00:00
asfernandes
de7dbae857 Rollback changes of all ON TRANSACTION COMMIT triggers when one trigger fail 2006-12-30 01:26:50 +00:00
dimitr
40f6fa11d0 Let's not cancel the verb cleanup process as it causes a fatal bugcheck. 2006-12-22 15:49:31 +00:00
asfernandes
bfcc8df647 Restore the original status vector 2006-12-13 14:28:57 +00:00
asfernandes
7329ad3f3b Run ON DISCONNECT triggers on server shutdown - thanks to Alex 2006-12-12 14:21:17 +00:00
alexpeshkoff
1a4652f01a Trusted authentication for windows 2006-12-08 18:38:15 +00:00
dimitr
b43b43eca9 1) Changed MON$STATEMENTS a bit.
2) Implemented statement cancellation.
2006-12-04 21:36:29 +00:00
asfernandes
d168869475 Added RDB$NULL_FLAG and RDB$PARAMETER_MECHANISM to RDB$PROCEDURE_PARAMETERS 2006-11-24 00:25:13 +00:00
asfernandes
3e7a2b4542 Do not swallow bugcheck exceptions - thanks to Claudio 2006-11-12 21:19:50 +00:00
robocop
4734698382 Fix a crash in Adriano's db triggers when using -shut and -tran in gfix, because TRA_start can throw and thus our result in jrd.cpp was uninitialized. 2006-11-10 08:38:55 +00:00
robocop
7a46dc7247 Misc. 2006-11-10 08:12:07 +00:00
asfernandes
570b6cd4b4 1) CORE-645 and CORE-745: Database triggers
2) CORE-711: Make syntax for "CREATE TRIGGER" compliant with SQL2003
2006-11-05 18:30:36 +00:00
hvlad
f48f2af25b Few corrections pointed by Claudio 2006-11-03 09:42:42 +00:00
asfernandes
4197a8be70 Fixed a bug when the connection charset is multibyte, appeared after recent changes to CsConvert class. 2006-11-02 22:37:19 +00:00
dimitr
543fc5e0d1 Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment. 2006-10-31 15:59:23 +00:00
hvlad
58d381edd7 1. Remove blr_src_info code as it is prevents database downgrade from ODS 11.1
2. Put debug information (mapping between blr offset and source line\column and names of local variables) into new blob field RDB$DEBUG_INFO
This is first step to implement native SQL debugger i believe
2006-10-30 20:58:06 +00:00
dimitr
e4fffd425f 1) Updated monitoring implementation.
2) Cleanup.
2006-10-30 12:39:08 +00:00
asfernandes
358326eb08 Misc 2006-10-14 18:33:12 +00:00
robocop
28c3d29886 ApiGuide.pdf says a maximum of 16 databases is allowed for a multi-db transaction. However, Ann agrees that a modern new, sensible limit is 256 databases for start_transaction and start_multiple.
Fixed a buffer overrun in jrd.cpp related to this.
2006-10-14 01:29:36 +00:00
asfernandes
1d422a8330 1) Refactor intl_classes.h and intl.cpp
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
8e7e781e5f Partial commit with some cleanup and more constants. 2006-10-10 06:41:36 +00:00
asfernandes
4191332d2f Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:53:08 +00:00
robocop
861cc66a6f Dmitry's last commit appears incomplete for me (for example, no project files were updated). While trying to fix the VC6 build, I added the new class to the three "common*" projects and commented a line in jrd.cpp. Server may misbehave due to the jrd modification. 2006-10-08 07:57:15 +00:00
dimitr
988782a96a 1) A new class to handle aggregated multi-level performance counters.
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
asfernandes
3cf910dedf Misc 2006-09-15 02:14:46 +00:00
dimitr
7c405166aa 1) Support for client PID in the monitoring data.
2) Changed XNET to return local hostname instead of PID as its remote address.
2006-09-14 13:47:31 +00:00
alexpeshkoff
ba264a2388 Fixed CORE-900 2006-08-17 09:51:34 +00:00
alexpeshkoff
205a7303c3 1. Centralized validation of attachment to be a super-user attachment.
2. Fixed a couple of old problems, when sysdba could perform operations, but
   database owner - could not.
3. Fixed CORE-84 - nbackup operations were allowed for everybody who can login
   to the given database.
4. Disabled creating shadows and adding additional DB-files for non super-user.
2006-08-16 15:15:58 +00:00
dimitr
17f99e1489 More fixes for the monitoring stuff. 2006-07-24 15:56:50 +00:00
robocop
64f6eb42a1 Misc. 2006-07-21 01:35:17 +00:00
asfernandes
155ab12384 Misc 2006-07-20 03:14:15 +00:00
dimitr
b7671e2bf6 Increase minimal created page size to 4096. Note that we still can open less page sizes. 2006-07-19 15:16:14 +00:00
dimitr
129e6229ee Monitoring, continued. 2006-07-19 06:19:56 +00:00
dimitr
c68587fe66 1. Virtual tables
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
asfernandes
3d20c0180a Misc 2006-07-12 15:13:22 +00:00
asfernandes
a86cf35ad4 Synchronization of DSQL metadata cache objects in classic-server 2006-07-10 03:12:10 +00:00
robocop
d2d3230637 Misc. 2006-07-01 08:50:21 +00:00
robocop
db5f743685 Misc. 2006-06-16 08:13:20 +00:00
dimitr
7cc12e8489 1) Reworked memory management in SORT. Now we're pools aware there.
2) Reworked error handling in SORT and its callers.
3) Replaced DLS+SortMem with the generic TempSpace class.
4) Replaced GDS temp file management with the TempFile class.
5) Various cleanup.
2006-05-31 08:53:00 +00:00
robocop
40f05409c9 Cleanup done and tree is buildable again.
:-)
2006-05-25 10:20:31 +00:00
robocop
7040d668fd Misc. 2006-05-25 08:40:23 +00:00
asfernandes
8dfca54dda Complete Dmitry's cleanup of all_proto.h 2006-05-23 12:23:53 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +00:00
asfernandes
292ad66e96 Misc 2006-05-20 01:53:51 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
9ff5877b36 Fixed the posix build. 2006-05-13 05:02:13 +00:00
dimitr
ab72aae201 Threading cleanup. Restored the V4_THREADING code to the state it was before Blas' cleanup. It's not used but preserved as a self-documentation. 2006-05-01 05:11:52 +00:00
dimitr
bece02f7e8 Threading cleanup. More to follow. 2006-04-30 18:15:30 +00:00
dimitr
8f9d2584db Threading cleanup. More to follow. 2006-04-30 17:40:24 +00:00
dimitr
79652b7222 Threading cleanup. More to follow. 2006-04-30 17:30:32 +00:00
dimitr
8e07223ebf Threading cleanup. More to follow. 2006-04-30 16:28:30 +00:00
robocop
e49082193a Delete redundant cast. 2006-04-29 05:42:43 +00:00
asfernandes
89ce677f48 Misc 2006-04-26 02:49:25 +00:00
dimitr
e5869b3921 Misc. 2006-04-25 07:37:19 +00:00
alexpeshkoff
7aa58b7f3a fixed debug build 2006-04-16 12:52:58 +00:00
asfernandes
7923390e54 Allow collation IDs greater than 127 2006-04-05 16:34:18 +00:00
robocop
1f84bac700 Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc. 2006-02-23 05:08:26 +00:00
robocop
044c5841ad Misc. 2006-02-10 03:28:43 +00:00
hvlad
7c5c5ec818 Don't overwrite dbb_oldest_snapshot and another transaction numbers with
oldest values from header page after user call to isc_info_oldest_snapshot etc
2006-02-03 13:23:58 +00:00
robocop
97122ee389 Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary. 2006-02-03 08:39:36 +00:00
robocop
2b99e764e3 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>)
2006-02-02 07:32:07 +00:00
robocop
51e1d59ac5 Misc. 2006-01-28 04:12:42 +00:00
robocop
1e6d89ebfc Comment excessive dependencies on license.h. 2006-01-07 00:31:37 +00:00
dimitr
2204fe9624 Fixed the garbage trigger name (reported by Alex). 2006-01-03 11:28:24 +00:00
robocop
f00fc0ff56 1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
alexpeshkoff
62a24d46e4 1. Moved data structures, written to database file, into ods.h.
2. Added new types of clumplets to ClumpletReader and ClupmletWriter.
3. Applied modified ClumpletReader and ClupmletWriter to /remote and partially /jrd.
4. Added active protection from remote brute-force attack to services API.
2005-11-27 20:53:09 +00:00
hvlad
9d6b361f69 Eliminate unnecessary JRD_get_thread_data call in nbak.
Checked against B2_0_BV_Stable3 branch
2005-11-21 23:33:20 +00:00
robocop
2e49ce85c9 Misc. 2005-10-14 04:12:36 +00:00
alexpeshkoff
46dd9a90d6 1. reanimated -database switch in gsec\n 2. isc_file.cpp should now compile at AIX\n 3.Use PathName to store database name in jrd.cpp during attach/create 2005-09-30 16:16:39 +00:00
asfernandes
13910d5c73 Fix issue of SQLVAR.sqllen from non-system MBCS fields, thanks to Roman 2005-09-14 18:09:40 +00:00
alexpeshkoff
e832cd2c68 fixed BOFs in PIO functions 2005-09-08 16:41:56 +00:00
asfernandes
0b1eb55d62 Fixed SF field-test #1249187 - 2.0a3: String literals dest. for large CHAR fields truncated 2005-08-21 15:52:30 +00:00
dimitr
92415ce39f Fixed a bugcheck (and possibly an engine crash) during server shutdown.
Force a TIP based rollback instead of using a transaction-level savepoint in this case.
2005-07-25 05:03:26 +00:00
dimitr
0af3a3f462 Fixed one of the server shutdown bugs. More to come. 2005-07-24 18:48:45 +00:00
dimitr
c4ff5cf6b8 Expanded the routine comment. 2005-06-25 09:34:59 +00:00
dimitr
0ce1d52f3e Slightly changed (mostly cleaned up and fixed) the SS shutdown mechanics. 2005-06-24 11:14:51 +00:00
asfernandes
890494ac7c 1) Fixed SF #1016040 Missing external libraries causes engine exception
2) Use better error messages
2005-06-14 03:16:54 +00:00
dimitr
894fa1e011 Removed unused thread scheduling option. 2005-06-12 06:27:12 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
robocop
c8de3fff0c Change misleading comment. 2005-05-02 09:10:06 +00:00
dimitr
559843c97d Fixed origin of the 100% CPU load when an I/O error causes a rollover to non-existing shadow.
Also fixed attempt to wait for the attachment-owned lock for the already purged attachment.
2005-05-02 07:01:33 +00:00
asfernandes
eabacfd9ad Apply Vlad's patch reverting to legacy behavior about overwrite of non-database files 2005-05-01 14:58:21 +00:00
robocop
b609407d9b We can live with static_cast for these cases. 2005-04-18 03:32:35 +00:00
alexpeshkoff
808422abaf fixed windows build 2005-04-14 17:06:14 +00:00
asfernandes
b5294dc7a9 Fixed SF #1155520 - Any user can replace databases created by others 2005-04-13 01:06:24 +00:00
alexpeshkoff
504ec492ab Shutdown SS without SYSDBA password 2005-04-11 15:33:18 +00:00
hvlad
f09ef16560 1. New switch for gbak -RECREATE_DATABASE [OVERWRITE].
Simple RECREATE_DATABASE is equal to CREATE_DATABASE,
    RECREATE_DATABASE OVERWRITE is equal to REPLACE_DATABASE.
2. gbak uses isc_dpb_overwrite to create database over existing files
3. engine overwrite existing files only if asked explicitly by
    user by setting isc_dpb_overwrite to 1
4. fixed unregistered bug - when gbak uses service manager and passed
    command line contains invalid switch. Service reports error and
    finish but not call Service::svc_started therefore response is not
    send and gbak is stalled forever
2005-04-09 18:44:50 +00:00
dimitr
4ec439dd14 1) Deliver trigger type to the compiler level
2) Disallow NEW context assignments for POST-triggers
2005-03-28 21:52:55 +00:00
robocop
331b974d4b Fix role parsing bug. I warned the committer five months ago, but it got lost among his duties, so I'm fixing it now with the same suggestion I gave then.
Demonstration:
SQL> connect isqltest.fdb role "your bug""""is here";
and see what you get inside options.dpb_role_name in jrd.cpp at line 946.
2005-03-15 02:09:58 +00:00
alexpeshkoff
f4cd5a154f Changed name to security2.fdb 2005-02-24 12:24:38 +00:00
robocop
8d4b89723f Welcome to paranoid programming. 2005-01-25 06:33:07 +00:00
alexpeshkoff
643c54fba5 verify DatabaseAccess in the same style&place for both attach and create 2004-12-20 17:44:25 +00:00
alexpeshkoff
8a2e6d6c59 Better way for server to authenticate itself in security database. 2004-12-19 15:24:59 +00:00
skidder
252fae8d3b Second attempt to fix backing up of stream blobs.
This time it should work with XNET and INET too.
Rollback earlier engine fix which now seems incorrect to me.
2004-11-30 20:17:39 +00:00
alexpeshkoff
49aab40955 1. rewritten flu.cpp using modern firebird classes library
2. fixed diagnostic about missing/unusable UDF module
2004-11-29 11:15:09 +00:00
robocop
381ca2754b Misc. 2004-11-27 06:51:58 +00:00
skidder
55c4e0ac85 CLIENT_ADDRESS and NETWORK_PROTOCOL variables support 2004-11-26 01:01:27 +00:00
alexpeshkoff
f762abf547 applied fixes, suggested by Claudio
made get_options method of class DatabaseOptions
2004-11-25 16:09:12 +00:00
alexpeshkoff
bdd3b32278 use ClumpletReader to parse dpb options 2004-11-24 18:26:24 +00:00
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
hvlad
d1e720d9cb GC policy config entry don't need to be case-sensitive 2004-11-11 10:17:16 +00:00
skidder
1e26d6c80d CURRENT_DATABASE implementation. Established identity may also be used for isc_info_db_id datum 2004-11-11 05:37:52 +00:00
skidder
1fa9ec81c7 Use case-sensitive comparisons for GC policy configuration entires. stricmp does not exist on Linux. 2004-11-10 23:02:31 +00:00
robocop
cf0c42f971 Misc. 2004-11-10 05:19:20 +00:00
hvlad
aba34753cb Add config file parameter for the garbage collection policy 2004-11-09 12:59:37 +00:00
robocop
e2ed110d8c Misc. 2004-11-08 08:01:26 +00:00
alexpeshkoff
3bd02ee852 security fix
1. Use SHA1 hash instead of ENC_crypt.
2. Disable any remote (non-embedded) access to security.fdb.
3. Use services in gsec and isc_*_user() fucntions.
    In gsec switch -database replaced with -server.
4. Protect from attempts to brut-force accounts/passwords.
2004-11-07 14:50:53 +00:00
robocop
e5be73b048 Misc: extra semicolons do not help. :-) 2004-11-07 10:47:20 +00:00
dimitr
feb6b7e006 Replaced non-centralized datetime management with a new class. 2004-10-30 19:41:54 +00:00
robocop
202f9ab5db Misc. 2004-10-28 05:23:16 +00:00
skidder
b29f8356c5 Implement routines for convenient dumping of memory pools under debugger 2004-10-25 05:14:12 +00:00
skidder
02a0915156 Teach engine to work with larger record numbers - 64-bit internally, 40-bit externally 2004-09-28 06:28:38 +00:00
robocop
7dcb66a250 When you call va_start, call va_end, don't assume it does nothing because some platforms don't have code for it!
Changed some sprintf to SNPRINTF. Work in progress WRT wrapper for this function.
2004-09-25 10:28:09 +00:00
alexpeshkoff
388503229c fixed problems with DatabseAccess verification during Create Database 2004-09-07 07:03:25 +00:00
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
robocop
53c645ce82 Temporary fix for first problem reported by Adriano dos Santos Fernandes.
Server should continue working normally if gbak tries to restore a db in a forbidden path.
Now mutex is unlocked and server can continue working. However, engine doesn't unload the db so it still thinks there's an active connection.
The proper fix should come from Alex, that probably involves throwing an exception to activate the code inside the catch() section.
2004-07-30 05:56:35 +00:00
skidder
8f0cf89afb Correct problems with single-user maintenance mode (note it is used for GBAK restore process now) 2004-06-12 01:06:05 +00:00
alexpeshkoff
1591a54e5e Thread cleanup:
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
robocop
1332d98618 Literal strings should be treated as const char* 2004-06-05 09:37:18 +00:00
alexpeshkoff
9a34ce553c make bool (isEmpty/hasData) checks for string and stack safe 2004-05-27 16:26:52 +00:00
brodsom
64c1dee04e -Use C++ struct declaration style. 2004-05-24 17:31:47 +00:00
brodsom
75a0483d75 -Comment some common.h unused macros
-Replace VA_START macro with va_start function (it was already some places where it is not used)
2004-05-23 23:28:06 +00:00
brodsom
bed146ad19 -Replace *_thread_data macros with inline functions (jrd step 2) 2004-05-23 03:18:10 +00:00
brodsom
f4ca41fa3d -Replace *_thread_data macros with inline functions (jrd step 1) 2004-05-22 14:28:54 +00:00
brodsom
372c3de67d -Replace & remove unneeded threading macro in jrd.h
-Move more threading selection to firebird.h
-Replace POSIX_THREADS with USE_POSIX_THREADS
2004-05-22 02:11:56 +00:00
brodsom
68cb86b274 - Remove *_THREAD_DATA definitions from thd.h, are unneeded and conflicts with definitions in providers/services main headers (which need to use undef).
- Use different names for each service/provider *_THREAD_DATA macros.
2004-05-19 18:14:29 +00:00
brodsom
b76a60e8b7 Move THREAD_ functions from thd.h to thread_proto.h (and fix unix build) 2004-05-17 22:30:09 +00:00
brodsom
ee34db7e20 Macro cleaning (THREAD_*) 2004-05-15 00:58:46 +00:00
brodsom
9dbe1e64fe -Remove casts unneeded after macro cleaning 2004-05-14 18:43:34 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
skidder
a8ebb7be3d Apply lock handler fix to the case when multiple attachments are used inside Classic process. This is unusual, but possible case. Fix seems to be safe, but this is one of the most complex and sensitive parts of the engine 2004-05-08 02:57:06 +00:00
brodsom
ce7a5ced08 -Macro cleaning 2004-05-06 22:11:24 +00:00
brodsom
62a4b10c22 -Replace define with const
-Remove ifdef cplusplus from internal code
-Remove unused macros
2004-05-06 18:09:24 +00:00
brodsom
80b424e346 -Replace define with const
-Move SYS_ERR, ERRNO, H_ERRNO and INET_ERRNO(ERRNO in inet.cpp) macros to common.h
-Remove unused macros
2004-05-05 21:55:13 +00:00
skidder
91efe0fba0 Carefully account attachment pointers used inside JRD lock structure. This should cure crash reported by Nils Boedeker 2004-05-05 05:28:48 +00:00
brodsom
cb08ec3407 -Fix another incredibly stupid legacy variable naming, variable name = struct name. 2004-05-03 17:31:28 +00:00
skidder
43cb0d1ce4 Y-Valve handle translation layer 2004-05-02 23:06:37 +00:00
brodsom
5cf9fdfc90 Removing ib_stdio.h 2004-04-28 22:43:34 +00:00
skidder
8bb5ed0e96 Fix problem with 64-bit SS NPTL builds 2004-04-20 05:57:31 +00:00
alexpeshkoff
ce0d00e9f6 struct trig moved to class Trigger 2004-04-19 15:29:29 +00:00
skidder
abdbec6f84 Switch to Firebird container templates for request resource tracking. This significantly reduces CPU time any memory consumption for databases with complex metadata 2004-04-18 02:50:38 +00:00
alexpeshkoff
f0aaf79090 fixed posix warning - dropped unneeded copy_string() 2004-03-31 17:51:43 +00:00
robocop
faa41f7b3b Cleanup 2004-03-30 04:10:52 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
skidder
f26d84f76b 1. POSIX build libraries export only public API. 2. Unify exports for PROD_BUILD and DEV_BUILD. 3. Support for context memory pools. 4. Memory manager has lower memory overhead exceptionally on 64 bit targets 2004-03-25 23:12:50 +00:00
alexpeshkoff
88dcae12db fixed some problems with posix debig build 2004-03-22 15:13:05 +00:00
alexpeshkoff
1e6c7b18e9 fixed problem with loop in includes 2004-03-22 11:38:23 +00:00
dimitr
ca273c2d58 Minor cleanup. 2004-03-21 09:34:30 +00:00
alexpeshkoff
7007d6f2a4 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 14:57:40 +00:00
robocop
958f9e31aa Cleanup
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
alexpeshkoff
5e045f18fc fixed posix build - it's buildable now 2004-03-16 17:35:03 +00:00
alexpeshkoff
2cab4e99f0 replaced str with Firebird::string (or Parhname) in Database and attachment 2004-03-14 13:34:43 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
skidder
b6e5ccd413 Clean up.
1. gds__alloc doesn't throw
2. Add NOMEM handlers to a couple places
3. kill HAVE_*SNPRINTF conditionals
2004-03-09 00:17:07 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
dc7aab8f9c Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed 2004-03-01 03:35:23 +00:00
skidder
2c4fe73bd4 Implement new shutdown modes (single-user and full shutdown). Tested on Linux/AMD64 CS and SS 2004-02-25 01:50:40 +00:00
robocop
2fa67d46bc Cleanup
Reduce reinterpret and C casts
Fix isql so it can show all predefined blob types in readable form.
2004-02-24 05:34:44 +00:00
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
dimitr
ae27cf2218 Fixed possible crashes when this routine is called from verify_database_name().
Confirmed for the embedded server in the case of relative root path.
2004-01-28 09:31:12 +00:00
robocop
2b295a9108 General cleanup. Sorry if I missed some occurrence. 2004-01-28 07:50:41 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
b441cd9aef Cleanup 2004-01-13 09:52:19 +00:00
skidder
6973b067ea Do more AMD64 fixes. libfbstatic builds and can do some basic stuff now 2004-01-12 06:58:27 +00:00
robocop
06a4df3708 A requiem for JOURNAL and WAL.
Instructions in the list.
2004-01-06 10:33:18 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
robocop
d020ea5ca1 ping-pong cleanup: change one place and you have to change several others 2003-12-11 10:33:30 +00:00
robocop
b02c629735 Cleanup
Some name changes
Try to fix SINIX-Z problems with send() prototype
2003-12-05 10:35:47 +00:00
robocop
84062732d8 More cleanup 2003-12-03 08:19:24 +00:00
robocop
9fafc348bf const correctness
vars in scope
minimal interface cleanup
small bug fixes
2003-11-28 06:48:34 +00:00
aafemt
5f041977c2 'struct' cleanup 2003-11-26 11:15:32 +00:00