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

319 Commits

Author SHA1 Message Date
robocop
7a0a29e234 Move some clutter out of jrd.h to Database.h and Database.cpp. 2008-02-14 12:24:27 +00:00
robocop
a002cd3837 Comment unused code. 2008-02-14 12:21: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
alexpeshkoff
63b726f8f0 fixed gcc warning 2008-02-02 18:08:28 +00:00
robocop
e9e1ead67a Mostly style, constness, native memcpy and explicit constructors. 2008-02-02 17:04:06 +00:00
asfernandes
ce0ae486c5 Misc 2008-01-29 18:07:37 +00:00
alexpeshkoff
49d9fd4b3c fixed gcc warning 2008-01-29 15:02:21 +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
dimitr
3921854d21 Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:30:47 +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
74e8bba437 The merge is being fixed. 2008-01-16 11:51:42 +00:00
dimitr
d1e8f67a5d The merge continued. 2008-01-16 09:29:37 +00:00
dimitr
d276641cc8 Fixed CORE-1610 and its subtask CORE-1615. 2007-12-10 07:18:54 +00:00
asfernandes
41faeba3cc Misc 2007-12-05 00:03:15 +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
65bde054e9 A few trivial optimizations. 2007-11-29 10:26:23 +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
asfernandes
9dd863d6d7 Create class to buffer random bytes generation as process of generate many small random bytes is slow - thanks to Nickolay 2007-10-28 14:54:16 +00:00
alexpeshkoff
edc03201ca Fixed CORE-1537: NBackup creates difference file in bad place 2007-10-26 13:21:16 +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
hvlad
61427ef242 Forgotten files for CORE-1381. Thanks to Adriano 2007-07-26 07:37:09 +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
asfernandes
ae3c20aa55 Misc 2007-06-07 03:35:04 +00:00
alexpeshkoff
ea8ba3370d Cleaned up mutexes - removed MUTX_T and related macros 2007-06-06 12:37:24 +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
robocop
52f1b15e0c Misc. 2007-05-02 06:57:18 +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
alexpeshkoff
6e735f7c53 Misc + gcc warning hunting 2007-04-09 16:15:29 +00:00
hvlad
119a702ec5 Fixed CORE-1127 : Circular index references in corrupt database causes fbserver to loop infinitely.
Thanks to Diane Downie
2007-02-14 08:57:34 +00:00
alexpeshkoff
2ed72ce2d1 Fixed results of copyNpaste technique - thanks to Adriano. 2007-01-26 10:31:22 +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
dimitr
9d2b718bba Restored the old alter-in-use logic upon customer requests. 2006-12-14 16:11:21 +00:00
dimitr
b43b43eca9 1) Changed MON$STATEMENTS a bit.
2) Implemented statement cancellation.
2006-12-04 21:36:29 +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
alexpeshkoff
c7f3b027d6 Jrd's deletePool() now return pointer to next database's pool as suggested by dlh 2006-10-31 12:27:49 +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
9a9f7ae899 Correction 2006-10-08 01:59:24 +00:00
asfernandes
6f9092fe35 Misc 2006-10-08 01:57:21 +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
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
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
asfernandes
37284696a7 Misc 2006-07-22 03:54:43 +00:00
dimitr
0fe0535082 Forward declaration of enums is not allowed in the C++ language, even although being supported by MSVC.
This commit should fix GCC compilation problems.
2006-07-21 07:47:00 +00:00
robocop
64f6eb42a1 Misc. 2006-07-21 01:35:17 +00:00
dimitr
6992f3b904 Reject attempts to select from executable procedures. 2006-07-19 14:50:33 +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
hvlad
8e14bc4f1e Move relation stuff from jrd.h\vio.cpp into new Relation.h\Relation.cpp
by request of Claudio and Dmitry
2006-05-30 13:29:24 +00:00
hvlad
4e20ada751 Move jrd_rel::getPages into jrd.h to make it inline not only in vio.cpp. Noted by Adriano 2006-05-29 07:41:11 +00:00
hvlad
64f6714f2d Optimize jrd_rel::getPages a bit 2006-05-28 11:54:54 +00:00
robocop
3fa49e994b Style and typo correction. 2006-05-26 05:19:48 +00:00
asfernandes
1dcdd0d3ca Misc 2006-05-25 03:15:53 +00:00
robocop
c4c5b05894 Misc. 2006-05-24 09:28:22 +00:00
asfernandes
92cd427bbd Misc 2006-05-23 03:37:00 +00:00
alexpeshkoff
2eca860afb fixed gcc warnings 2006-05-22 10:41:32 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +00:00
dimitr
04e1c432d2 Misc. 2006-05-01 04:42:10 +00:00
dimitr
afa0f666b8 Threading cleanup. More to follow. 2006-05-01 04:12:30 +00:00
dimitr
bece02f7e8 Threading cleanup. More to follow. 2006-04-30 18:15:30 +00:00
dimitr
61bd8dbc05 Threading cleanup. More to follow. 2006-04-30 17:49:32 +00:00
dimitr
8f9d2584db Threading cleanup. More to follow. 2006-04-30 17:40:24 +00:00
dimitr
4d903bc32c Removed unused code. When MT-safe logic is done, we should use native classes instead of wrappers anyway. 2006-04-30 17:30:11 +00:00
alexpeshkoff
469589f573 Use Firebird::Array instead of STL's vector 2006-04-25 17:49:24 +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
robocop
2011950972 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Ninth step: while doing cleanup, I discovered some data members that aren't used anymore or that should be inside conditional code. This is the result.
2006-02-03 02:28:58 +00:00
robocop
25c08aea67 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Eighth step: dbb_refresh_ranges belongs to the obsolete functionality and since it's never set but tested in cch.cpp with two AND, the whole condition will be always false, hence remove the code.
2006-02-02 07:57: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
8975ef292a The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Fourth step: remove forward declarations of classes Bookmark and RefreshRange. More to come.
2006-02-01 22:45:35 +00:00
alexpeshkoff
e85ee26ade fixed gcc warning(s) 2006-01-18 10:43:13 +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
b144b0267d Enlarged dsql and jrd hash tables sizes 2005-11-21 23:52:11 +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
0af3a3f462 Fixed one of the server shutdown bugs. More to come. 2005-07-24 18:48:45 +00:00
hvlad
0bc1c4bf49 1. Allow to create FK constraints without exclusive database locking
2. Fix 'partner index not found' error when one process dropped FK and another trying to delete master record
3. misc changes in vio.cpp
2005-06-26 21:48:47 +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
aafemt
0091cb5124 Fix warnings 2005-05-14 04:39:17 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +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
7084912c3d We are only asking for information, so use const. 2005-01-25 06:40:00 +00:00
robocop
24742873ad fb_string.h is moved to common/classes. 2004-12-17 05:41:47 +00:00
alexpeshkoff
752be8fbcb removed fault comment 2004-12-01 07:38:02 +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
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
skidder
35ddab28fb Implement Claudio suggestion regarding clean generic map class 2004-11-24 20:48:59 +00:00
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
skidder
9507cf9714 Context variables support 2004-11-22 20:22:03 +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
hvlad
ffb640e22a Removed unneeded method as Nickolay suggested 2004-11-10 13:32:17 +00:00
hvlad
aba34753cb Add config file parameter for the garbage collection policy 2004-11-09 12:59:37 +00:00
robocop
77571e4c69 1.- Extra unneeded semicolons are being garbage collected.
2.- Style: sepate params by space, type for<space>(, etc.
2004-11-06 07:20:44 +00:00
hvlad
4d95ce3d42 New garbage collector thread implementation 2004-11-05 08:01:21 +00:00
dimitr
feb6b7e006 Replaced non-centralized datetime management with a new class. 2004-10-30 19:41:54 +00:00
robocop
31ba754981 After talking to Ann, decided to disable several items:
- obsolete items like WAL and JOURNAL (cleaned in the past)
- crud from attempts never finished like the shared cache manager for Classic
- DSQL nodes that aren't used. This allowed freeing some keywords.
The functionality was disabled by commenting the code. No code has been deleted.
2004-10-03 04:49:04 +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
432f4b4376 Bye WAL macro 2004-09-27 11:50:28 +00:00
arnobrinkman
3a5cec7e97 1) Add filename and linenumber to loginformation for ERR_BUGCHECK
2) Fix some index bugs and little refactoring
2004-09-24 00:11:32 +00:00
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
skidder
478a252e70 Fix memory corruption issue in SuperServer builds noted by Valgrind 2004-08-17 02:02:21 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
hvlad
d82cde309e Ability to show PSQL stack trace when exception occurs. 2004-08-06 15:26:55 +00:00
skidder
f4e7ebdd3b Implement rudimentary framework to track lifetimes of active BLOBs.
This solves the following issues:
1) Outrageous memory consumption when blobs are converted from strings during request processing
2) Materialization doesn't cause invalidation of BLOB IDs too early.
Original behaviour caused errors with updatable views or procedures receiving BLOB arguments.
2004-06-22 20:13:10 +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
alexpeshkoff
2f99a5ebf1 small strings cleanup 2004-05-26 16:12:05 +00:00
robocop
ea1c5245d3 Restore jrd.h to buildable state in DEBUG mode. 2004-05-26 04:53:05 +00:00
brodsom
64c1dee04e -Use C++ struct declaration style. 2004-05-24 17:31:47 +00:00
brodsom
81d54f25a1 -Replace *_thread_data macros with inline functions (finish) Now each provider/service uses inline functions with different names for each one instead of macros with the same name for all (which collide) 2004-05-24 01:03:41 +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
robocop
441817bd82 1.- Misc changes
2.- Style
3.- Recover dsc_ttype in dsc after Blas' cleanup as a synonym for dsc_sub_type in text types
2004-05-21 06:16:17 +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
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +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
ee861d41ec Corrections suggested by Claudio 2004-05-03 22:42:47 +00:00
brodsom
2add5b1f60 -Unify 3 srq implementations and move it to que.h
-Remove duplicated lock constants between jrd.h and lock.h (naming fix and srq move outside lock.h  was prerequisites for this change)
2004-05-03 17:36:27 +00:00
skidder
43cb0d1ce4 Y-Valve handle translation layer 2004-05-02 23:06:37 +00:00
brodsom
2f4865a195 Replace defines for constants 2004-04-29 14:51:02 +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
alexpeshkoff
045e9dc8ec 1. removed any mentions of blk_pool() from engine (and method itself)
2. replaced 'struct lls' with 'template Stack'
2004-04-18 14:22:27 +00:00
skidder
eb1ae27de8 Small metadata cache cleanup 2004-04-10 19:46:48 +00:00
skidder
535b479522 Doing memset on a class with fields having destructors is generally a bad idea 2004-04-10 19:03:42 +00:00
alexpeshkoff
4650f4975f string cleanup 2004-03-31 18:03:51 +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
aafemt
4b99822fc9 Right headers include sequence 2004-03-24 11:06:22 +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
94d2f698e2 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
*** posix build fixes ***
2004-03-20 15:45:12 +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
aafemt
fea9b18dce reorder initializers to satisfy gcc 2004-03-19 11:21:59 +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
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
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
8fada883a4 Fix problem in non-Linux/FreeBSD/WIN_NT SuperServer builds 2004-02-29 06:15:19 +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