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

68 Commits

Author SHA1 Message Date
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
robocop
3689f15321 Style. 2009-01-20 08:33:59 +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
05c7a80586 Style. 2008-12-23 08:41:23 +00:00
robocop
761f0348ea Style. 2008-12-13 09:26:00 +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
robocop
eb6ea18df4 Misc. 2008-12-01 09:21:31 +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
alexpeshkoff
a56af1ed77 Cleanup 2008-11-12 14:14:56 +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
13a15d4bfe 1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
alexpeshkoff
a2e416210b Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
roman-simakov
a202daf6bb Replaced nbackup dirty pages locking with RAII classes 2008-04-16 08:46:13 +00:00
dimitr
afb970dba1 1) Cleanup.
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
dimitr
43594ed53a Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:17:19 +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
6666fd1e4a The merge continued. 2008-01-16 09:48:41 +00:00
dimitr
d113c08ee5 Fixed CORE-1562 and its subtask CORE-1608.
The AST thread should never switch the context. This bug became visible as a result of the enabled resheduling in Classic.
2007-12-11 08:09:50 +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
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
dimitr
533e28ce6c Fixed CORE-1249 plus minor corrections for the single-user shutdown mode.
The change in CCH allows to report isc_shutdown instead of the LM error code in Classic (GFIX depends on this behaviour).
Also, refactored the SHUT logic a bit to assert on unexpected shutdown modes.
2007-05-08 08:31:48 +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
dd0931d113 Front-ported fix for CORE-943. 2007-03-09 08:27:34 +00:00
dimitr
e4fffd425f 1) Updated monitoring implementation.
2) Cleanup.
2006-10-30 12:39:08 +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
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
c68587fe66 1. Virtual tables
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +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
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
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
c2fe7385ab The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Second step: remove them from #include clauses in other files. More to come.
2006-02-01 08:55:43 +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
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
dimitr
a916229249 Fixed some shutdown issues:
- redundant attempts to get an exclusive database lock
- wrong timeout counting
- database lock is not released after bringing database online in the exclusive mode
- removed a 5 sec timeout when bringing database online in the shared mode
2005-06-15 09:11:52 +00:00
robocop
ed17cfafbf Style:
if<space>(
for<space>(
switch<space>(
while<space>(
2004-10-04 08:15:00 +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
skidder
c2abc04785 Fix -tran shutdown which I broke when introduced new shutdown modes 2004-05-31 22:57:12 +00:00
brodsom
f4ca41fa3d -Replace *_thread_data macros with inline functions (jrd step 1) 2004-05-22 14:28:54 +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
ce7a5ced08 -Macro cleaning 2004-05-06 22:11:24 +00:00
skidder
43cb0d1ce4 Y-Valve handle translation layer 2004-05-02 23:06:37 +00:00
brodsom
a549091c94 - Split sqlda.h to avoid duplicated definitions between ibase.h and sqlda.h
- Replace define for constants
- Remove contants.h where not used.
2004-04-30 22:47:16 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
1e6c7b18e9 fixed problem with loop in includes 2004-03-22 11:38:23 +00:00
alexpeshkoff
695c222ad2 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 15:33:30 +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