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

583 Commits

Author SHA1 Message Date
alexpeshkoff
176041c63e applied fixes, mentioned by Claudio 2004-04-19 13:40:30 +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
6c9fbf8d85 Fix MSVC build 2004-04-18 03:34:22 +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
robocop
d601bab884 Style 2004-04-11 07:12:09 +00:00
robocop
59b235cea3 Small corrections 2004-04-10 00:25:22 +00:00
aafemt
94bbbc5a6c TLS for win32 gcc 2004-04-06 05:53:36 +00:00
alexpeshkoff
40772a2e70 Added "T* getBuffer(capacity)" - this helps use Array as temp buffer 2004-04-01 14:15:34 +00:00
alexpeshkoff
90d3086320 fixed serious bug in string::printf - thanks to Nickolay 2004-03-31 18:09:40 +00:00
alexpeshkoff
170bef6340 moved use of fb_assert to correct place 2004-03-31 17:13:24 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
skidder
4093bc4ace Fix error in my previous commits spotted by claudio 2004-03-28 00:38:13 +00:00
skidder
dd02aa34e6 Fix Windows build after my previous commit 2004-03-25 23:36:03 +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
skidder
bb17776b6d Notify Alex about flaw in his string code 2004-03-24 05:43:08 +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
alexpeshkoff
0b53355916 1. dropped unneeded AutoPtrFromString
2. added private copy constructor and assignment to avoid errors
2004-03-20 14:30:52 +00:00
alexpeshkoff
233bcc7858 assert if AutoStorage() used for object not on the stack 2004-03-20 14:29:05 +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
151368f3cc fixing posix build 2004-03-15 19:10:44 +00:00
alexpeshkoff
e35767f54b This should fix non-VC6 builds. Thanks to Nickolay Samofatov 2004-03-15 18:48:10 +00:00
alexpeshkoff
67f1740fea Various cleanup to make engine compile and work after mentioned earlier changes.
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
alexpeshkoff
f0ef70fa45 1. Full pair (both first and second pooled objects) added.
2. Pair may be placed to AutoPool.
2004-03-14 13:24:48 +00:00
alexpeshkoff
7457f71e0f 1) a bit more correct memory allocation debugging
2) use AutoStorage to allocate string data
2004-03-14 13:22:16 +00:00
alexpeshkoff
1a925afa38 Added capability to have following kinds of arrays:
1) sorted or unsorted
2) POD or objects
3) with or without inline storage
4) allocating from auto- or permanent-pool
All array constructors take MemoryPool& instead of MemoyPool*
2004-03-14 13:19:47 +00:00
alexpeshkoff
18b7cb3710 Templates, supporting objects initialization 2004-03-14 13:10:40 +00:00
alexpeshkoff
699cf30d77 May use _any_ way to delete pointer, not only operator delete 2004-03-14 13:08:36 +00:00
alexpeshkoff
0dbd44a35b Constructors to put arrays in local memory, use AutoStorage. 2004-03-14 13:07:01 +00:00
alexpeshkoff
2ae251add1 Added *Storage classes to be used as primary base for all pool-oriented classes 2004-03-14 13:05:02 +00:00
skidder
e8a3fd7ed1 Fix a couple errors I introduced in previous commit. Spotted by Claudio 2004-03-11 05:30:07 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
skidder
f13321bc74 Fix a few warnings. Not very harmless ones 2004-03-11 04:26:54 +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
alexpeshkoff
b9b470b9c1 1. front-ported blob returning fix
2.correct license
2004-03-05 09:37:18 +00:00
skidder
725b7f9972 Be slightly more portable 2004-03-02 20:23:32 +00:00
eku
b28781c507 Fixed compilation issues (missing include files, wrong defines). 2004-03-02 08:43:33 +00:00
skidder
25b969d1b7 Fix MSVC build 2004-03-01 04:57:43 +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
4b5428f833 Memory pages manager 2004-03-01 03:18:42 +00:00
skidder
ad97d0409d Fix POSIX build 2004-02-29 05:49:03 +00:00
alexpeshkoff
87cf963814 make our class behave MemoryPools friendly 2004-02-28 19:44:04 +00:00
alexpeshkoff
0097df8f26 Made it const-correct 2004-02-28 19:19:03 +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
aafemt
a705c5da0c Remove unneeded comparsions 2004-02-18 11:10:34 +00:00
aafemt
9c03f64c65 Fix a couple of warnings 2004-02-17 11:08:09 +00:00
alexpeshkoff
c4cd1da183 Please add this file to common section of appropriate builds!
Added native firebird::string class.
2004-02-09 07:41:45 +00:00
alexpeshkoff
0ee51a6c60 const correctness 2004-02-08 16:35:40 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
robocop
2b295a9108 General cleanup. Sorry if I missed some occurrence. 2004-01-28 07:50:41 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
dimitr
995417f11a Minor cleanup 2003-12-14 18:26:25 +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
dimitr
b26b48c9bf Oops, sorry. 2003-12-01 17:53:44 +00:00
dimitr
726f0f836e Correction 2003-12-01 16:29:45 +00:00
dimitr
c8c2b04c49 1) Const correctness
2) A few extra vector-like methods
2003-11-30 21:01:35 +00:00
skidder
16ea16b085 Fix invariant tracking in recursive procedures and when invariants
depend on variables. This solves issues like SF#627057.
2003-11-23 20:17:30 +00:00
kkuznetsov
021a046ec1 Write solaris portion of RWlock 2003-11-21 19:42:06 +00:00
stryqx
99bb1302db Fix the spinlocks case for FreeBSD 4.x 2003-11-11 23:58:49 +00:00
robocop
db77ffa605 const correctness, variables in scope, cleanup, etc. 2003-11-07 08:06:35 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
skidder
7b99b8a57b Basic INTL cleanup.
- Rework (mostly undo) John's changes
- Some function type safety
- Make INTL OO layer very thin (this should slightly improve performance)
2003-11-03 17:14:45 +00:00
brodsom
51893d72ad - Make MinGW build again after Nickolay patch (There is a multiple definition of std::bad_alloc::~bad_alloc()) 2003-11-03 02:05:14 +00:00
robocop
cda707bd36 const correctness and other related changes 2003-11-01 10:26:43 +00:00
brodsom
7acc0cf5bd Write fatal error messages into firebird.log 2003-10-30 10:59:32 +00:00
skidder
e5397f4180 Ugly hack to make Firebird compatible with host applications using STL 2003-10-27 22:27:30 +00:00
robocop
26b9005e05 Style: make the code more readable, keep spaces around operators 2003-10-20 10:26:31 +00:00
skidder
d7e24011b7 Clean up optimizer 2003-10-17 20:29:52 +00:00
skidder
4e8605294e Forward port Sparc fixes 2003-10-10 23:56:57 +00:00
skidder
235db035ce Ok, i'm joining Firebird destruction team with my cleanup:
1. Bring trace DSQL, DYN and BLR trace logging up-to-date
2. Remove redundant CSB pointer dereferences in BLR parser and request compiler
3. Convert RIGHT JOIN to LEFT JOIN early during BLR parsing
4. Check BLR syntax for unititalized contexts usage
5. Some type-safety and const-correctness fixes
2003-09-28 21:36:05 +00:00
skidder
bb1322a582 Correction 2003-09-16 21:45:47 +00:00
skidder
7873287ef3 Implement Firebird::Semaphore class for Windows and POSIX.
Those platforms which do not have POSIX semaphores (Solaris ?) may need to
implement this class using BSD or SYSV stuff.
2003-09-16 20:45:31 +00:00
brodsom
8fb3d96c84 Fix for MINGW build 2003-09-13 09:25:57 +00:00
brodsom
40fe35f036 Provisional quick fix for broken msvc 6 build with last Nickolay commit. To be reviewed by N. 2003-09-13 01:12:45 +00:00
skidder
349bbbd4f8 Mark volatile vars as such.
Add API to get current lock status for Win32 RWLock
2003-09-11 21:26:20 +00:00
skidder
77b17de987 NBACKUP-related changes and some clean-up 2003-09-08 20:23:46 +00:00
aafemt
7ba617f704 removing word 'struct' from variable declarations as obsolete 2003-08-26 10:58:06 +00:00
skidder
3bb31b8fa9 Change header comment 2003-08-13 11:01:40 +00:00
skidder
f3348c4502 Apply FreeBSD patches by Tomas Skoda 2003-08-11 11:21:21 +00:00
skidder
ce78ed1f1d 1) Make NBACKUP happy on Win32 CS too.
2) Fix tracking of OWN_hung in Win32 CS lock manager (lock-up debugging aid)
3) Fix possible unsynchronized access to memory manager in Win32 CS builds
and client library. Have shown itself as a very rare crash of Win32 CS manager
process during its startup.
4) Reduce warnings a little
Points 2 and 3 need to be backported to B1_5_Release
2003-08-10 15:43:23 +00:00
brodsom
d417781e3e Patch msvc6 after Nickolay changes 2003-08-08 00:38:25 +00:00
brodsom
b403a34bca Error patch, void function should not return a value. 2003-08-07 23:20:25 +00:00
skidder
c6a8ffcc5f New backup technology seems to work on Windows SuperServer now.
At least I can run 400MB AS3AP benchmark on it and lock/unlock/backup
database during this process.
2003-08-07 21:48:54 +00:00
skidder
84bfde306d Win32 engine builds and seems to work 2003-08-06 18:06:22 +00:00
skidder
0fff6a0150 Correction 2003-08-06 17:21:10 +00:00
skidder
e17f9dea02 Make the inferior MSVC7 compiler happy 2003-08-06 16:55:17 +00:00
skidder
143f8d2443 Implementation of fast physical incremental backup 2003-08-06 16:30:49 +00:00
dimitr
e6f62d4056 Fixed win32 build 2003-07-04 12:19:55 +00:00
kkuznetsov
8ba963241a Trying to make FB2 compiler independant add prefix for SUN C compiler and fix fist compilation error 2003-06-20 17:55:31 +00:00
skidder
142bd2b320 No more messages about forbidden usage of global operator new in DEV_BUILD. C++ library from RH8.0 does that routinely and this causes crashes because stderr messages go to TCP socket from fb_inet_server 2003-05-07 11:13:55 +00:00
skidder
90700fe81d Fix compiler warnings 2003-05-05 11:55:34 +00:00
alexpeshkoff
2b9cbcdc7f Don't execute any constructors / destructors for elements of class T 2003-04-26 10:08:11 +00:00
alexpeshkoff
94b3140b2a Added dynamic arrays support 2003-04-25 14:47:10 +00:00
brodsom
4051c36d57 Restore inlines 2003-02-25 01:11:29 +00:00
eku
b3eed24737 XPG defines that prototypes for malloc/free have to be defined in stdlib.h.
malloc.h is deprecated - removed.
2003-02-20 06:36:40 +00:00
brodsom
01681a01dc Move function definition from header to cpp and remove inline. 2003-02-16 00:20:30 +00:00
bellardo
7594e8b7b3 Added some of the "inlines" back. If the functions are really not meant to be inlined they need to be moved from the header file to an appropiate source file, and their declarations placed in the header file. Otherwise we get an overabundance of multiply defined symbols. 2003-02-13 23:39:49 +00:00
bellardo
609150281d add a configure check for malloc.h 2003-02-13 22:49:20 +00:00
brodsom
45efaaa7e0 Remove inline keyword. 2003-02-13 22:49:16 +00:00
dimitr
e9c9394670 Fixed exception handling. 2003-02-13 13:44:44 +00:00
brodsom
6fb3e5ec4c Remove warning 'declaration shadows a previous local' 2003-02-13 02:19:14 +00:00
tamlin
08d027e94d Print warning messages to stderr instead of stdout 2003-02-12 19:36:27 +00:00
dimitr
0ce8652f60 Moved allocator functions back to GDS. MemoryPool is no longer exported. 2003-02-04 20:18:36 +00:00
dimitr
fb6a63fe58 Fixed bug in the memory manager. We shouldn't use the uninitialized pool. gpre_boot no longer crashes. 2003-02-04 11:18:17 +00:00
dimitr
81cbb8bb78 Reduced memory usage. 2003-02-02 13:09:55 +00:00
dimitr
df03c555ec Fixed win32 CS build. 2003-01-31 07:44:03 +00:00
skidder
427ae39e57 Fixed a couple errors Mike Nordell pointed at 2003-01-30 18:05:34 +00:00
dimitr
81d3885bcc Fixed the errors pointed out by Mike. 2003-01-30 13:26:16 +00:00
eku
9de51efd26 Dmitry Yemanov:
Right now locks.h is used by the memory manager only. In its internals you
can find that SS uses Spinlock class whilst CS uses SharedSpinlock (which is
just a dummy now). So I think everything except SharedSpinlock should be
#ifdef'ed with SUPERSERVER in locks.h. The only doubt I have is a SOLARIS
check there (is it related to SS or CS?).
2003-01-29 10:16:21 +00:00
dimitr
93246b6445 Fixed linkage issues on win32. 2003-01-27 11:47:04 +00:00
dimitr
733e45cf0d Cleanup. 2003-01-21 12:19:32 +00:00
dimitr
4b3f6190c2 Cosmetics. 2003-01-21 11:08:59 +00:00
alexpeshkoff
a4b1cb5c34 Make Spinlock Win95 compatible 2003-01-20 18:38:34 +00:00
skidder
e12957d7bc Fixed engine compilation problem on GCC3.2.1 2003-01-20 14:31:20 +00:00
dimitr
5dabda9323 Fixed dump of the memory usage stats. 2003-01-20 08:40:02 +00:00
kkuznetsov
348ac71b37 Dummy inplementation of Spin-Lock let me return to compiling on Solx86 2003-01-19 18:32:23 +00:00
skidder
884c38d6c4 Memory manager changes - added memory usage stats, empty extents are now deallocated 2003-01-18 21:45:24 +00:00
dimitr
8de1ee6484 Removed compiler warnings. 2003-01-18 18:43:52 +00:00
dimitr
65046f123a Undone. 2003-01-18 18:02:12 +00:00
dimitr
6b8a306f79 Expose routines for allocation from system. Various temp buffers shouldn't go through the pool implementation. 2003-01-18 14:56:21 +00:00
dimitr
c9ed6efc7f Fixed problems with the memory manager. Oddly enough, but the server seems to work ;-) 2003-01-17 09:59:59 +00:00
dimitr
30f685d014 Fixed a typo. 2003-01-17 06:41:40 +00:00
skidder
ba5e11b15c Integrate new memory manager into the engine 2003-01-16 17:47:10 +00:00
skidder
4bdbf2a9c2 Little fixes in MemoryPool implementation 2003-01-10 21:37:18 +00:00
dimitr
1c1c5a8bc4 Fixed MemoryPool implementation. 2003-01-10 12:27:57 +00:00
skidder
32ecfff5b2 Prepare new memory manager for integration into the engine core 2003-01-09 19:47:46 +00:00
skidder
1a44760aed Further class library development. Added memory pool locking and line number allocation information 2003-01-07 16:35:10 +00:00
alexpeshkoff
f138cb4f22 Make it compile with MSVC6 2003-01-06 17:35:21 +00:00
skidder
77761a16b9 Further class library development. MemoryPool works now 2003-01-03 16:03:30 +00:00
skidder
0ec1e9f4c4 Further class library development 2002-12-17 19:42:25 +00:00
skidder
268f131ad9 Further class library development 2002-12-16 18:33:54 +00:00
skidder
9872002a7d First little pieces of new Firebird class library implementation 2002-12-14 21:43:18 +00:00