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

808 Commits

Author SHA1 Message Date
alexpeshkoff
4f0eb26a9b Fixed Sun compiler warnings 2009-06-03 13:13:08 +00:00
hvlad
6511cace58 Ability to create temporary files in specified folder 2009-05-28 09:48:13 +00:00
robocop
52355d8256 Style. 2009-05-28 05:47:07 +00:00
asfernandes
6e55b48e24 Misc 2009-05-28 01:53:38 +00:00
alexpeshkoff
46527f2084 MT safe floating point exceptions control. Raise error in case of FP overflow according to SQL standard requirements. 2009-05-27 07:57:06 +00:00
alexpeshkoff
e2e6b8bd10 Solaris port, related cleanup 2009-05-25 15:47:20 +00:00
asfernandes
8c0777d090 Do not overload placement new operator. That is not valid accordingly to C++ standard. 2009-05-23 02:27:05 +00:00
asfernandes
fd7245cf05 Misc 2009-05-23 01:33:36 +00:00
alexpeshkoff
25de6e92e7 Fixed alignment errors in 32-bit SPARC-64 port 2009-05-20 13:13:03 +00:00
alexpeshkoff
a37d818726 AIX port - native compiler support 2009-05-07 14:49:40 +00:00
asfernandes
10328dff3b Misc 2009-05-06 02:02:37 +00:00
alexpeshkoff
cef41b3286 1. Solaric/Sparc SunProCC port.
2. Cleanup SOLARIS_MT threading model.
2009-05-05 08:06:37 +00:00
robocop
66b1227b22 Unused params, some formatting, cleanup. 2009-05-01 17:21:36 +00:00
asfernandes
9178fc4100 Misc 2009-05-01 02:46:18 +00:00
alexpeshkoff
8c983fec26 Fixed alignment issues with on-stack vary strings 2009-04-29 14:00:32 +00:00
asfernandes
1c20adb8fc Misc 2009-04-29 01:52:49 +00:00
robocop
888000e21e Unused function params. 2009-04-26 10:24:44 +00:00
asfernandes
877064a028 Fix warnings 2009-04-25 15:10:07 +00:00
robocop
0c0c00386e Misc. 2009-04-24 15:25:14 +00:00
alexpeshkoff
b0a3fcc95a Removed 2 unneeded and unused parameters from template BePlusTree.
One of them caused compilation errors with IBM's xlC compiler.
This is compiler bug, but as long as we can avoid it - why not?
2009-04-22 15:58:26 +00:00
robocop
c815d1f012 Misc. 2009-04-17 14:10:56 +00:00
robocop
6780b8c31e Comments. 2009-04-17 14:10:11 +00:00
alexpeshkoff
ab4ef3b7e5 Fixed solaris atomic operations 2009-04-16 08:59:21 +00:00
robocop
0bf3d11247 Misc. 2009-04-10 14:28:35 +00:00
alexpeshkoff
06b5a69eec Make class FileClose generally available 2009-04-09 16:44:45 +00:00
alexpeshkoff
437dea645b Fixed xlC warnings 2009-04-08 10:21:29 +00:00
alexpeshkoff
71bc64f6e1 Fixed solaris implementation - thanks to Claudio 2009-04-06 15:44:29 +00:00
asfernandes
f6f364da49 Trim trailling spaces 2009-04-04 16:39:31 +00:00
alexpeshkoff
26d31f5e2e Native Solaris AtomicCounter - required for non-intel build 2009-04-03 13:09:58 +00:00
alexpeshkoff
597f370678 Avoid too long lines, ensure constness 2009-04-03 12:14:07 +00:00
robocop
4480c7c405 Misc. 2009-04-01 10:49:54 +00:00
roman-simakov
257368d31c Counter and mutex were replaced by AtomicCounter. 2009-03-19 19:08:17 +00:00
asfernandes
a6d88154ee Misc 2009-03-18 02:43:15 +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
asfernandes
af33aefd19 Misc 2009-03-12 01:39:52 +00:00
alexpeshkoff
0d4fcd15d0 Fixed alignment - thanks to Adriano 2009-03-05 10:25:45 +00:00
robocop
c96ffd070f Misc. 2009-03-05 06:05:50 +00:00
robocop
4d8dd1c953 Make it compile on Windows. 2009-03-05 06:05:19 +00:00
asfernandes
9d086d289c Misc 2009-03-05 00:52:25 +00:00
robocop
f2f8c3d704 Do not use reinterpret_cast to convert from void* to a typed pointer. 2009-03-04 12:14:51 +00:00
alexpeshkoff
2a8603af7d Formally this fixes gcc warning - no virtual dtor in class with virtual functions.
But this required serious reworking of InstanceControl and GlobalPtr<> classes.
GlobalPtr<> should not be directly derived from class with virtual functions -
virtual table for it's instances may become invalid in the moment,
when cleanup is needed. Therefore indirect link via InstanceList and
InstanceLink is established instead. This required also a little changes in
a way how InstanceControl is used. GlobalPtr<> usage is not changed.
2009-03-04 10:26:16 +00:00
dimitr
9f1cc5473a Prefer explicit #includes to tricky forward declarations for template classes. 2009-03-03 15:19:50 +00:00
alexpeshkoff
0d99a0d6c4 Implemented CORE-2322: added gsec and services support to control SYSDBA-like access of windows domain administrators to security database 2009-02-13 13:05:50 +00:00
robocop
66057e976c More changes for the improvement requested as CORE-2140 (it was never designed to work with printf escape sequences). 2009-02-12 12:58:12 +00:00
asfernandes
7ba3e7d0e5 Misc 2009-02-11 01:32:09 +00:00
alexpeshkoff
bd0d9bfe99 Add new class PointerArray and use it in RuntimeStatistics.
Now RuntimeStatistics has 3 #ifdef choices: SortedArray, PointersArray or Tree.
2009-02-09 14:11:16 +00:00
robocop
38f1fafbb9 Constness. 2009-02-08 12:57:49 +00:00
robocop
477faf805a Misc. 2009-02-08 12:53:48 +00:00
robocop
096d8e78e6 Trying to be more consistent in the detection of headers (HAVE_* macros). 2009-02-08 11:38:00 +00:00
asfernandes
75c0d0f353 Misc 2009-02-05 01:08:13 +00:00
hvlad
4c65e428bb Const 2009-02-03 18:14:41 +00:00
robocop
7bc5e3cc83 Style. 2009-02-03 11:02:00 +00:00
alexpeshkoff
6835b7f6ba fixed gcc compile 2009-02-02 11:51:25 +00:00
hvlad
115602ff06 Trace services support 2009-02-01 22:10:12 +00:00
hvlad
bd260b0023 ConstAccessor for BePlusTree 2009-02-01 22:03:59 +00:00
hvlad
6decebcc99 Reference-counted string 2009-02-01 22:03:10 +00:00
hvlad
ea19deac75 Correction 2009-02-01 21:55:26 +00:00
dimitr
3de6ba9d83 Mirror the POSIX way of making the TLS globals thread-safe.
Otherwise we may crash or lock-up during the process exit.
2009-01-29 18:07:07 +00:00
asfernandes
f532f6975e Misc 2009-01-21 15:42:45 +00:00
alexpeshkoff
322322b103 Fixed order of TLS keys destruction in POSIX build. 2009-01-19 16:16:19 +00:00
robocop
94b0541550 Style. 2009-01-15 11:04:40 +00:00
alexpeshkoff
97aca3d2b3 AIX port 2009-01-15 07:41:11 +00:00
asfernandes
989d851fa3 Misc 2009-01-15 03:46:48 +00:00
alexpeshkoff
2625a5a713 AIX port 2009-01-14 14:27:11 +00:00
alexpeshkoff
15e7df3ac7 AIX port 2009-01-14 13:58:41 +00:00
asfernandes
eed6013f7c Misc 2009-01-11 00:40:46 +00:00
alexpeshkoff
c4fa4b094f Removed generic (mutex-based) atomic counter. It violates fb 2.5 global variables
construction rules, therefore does not work at all - and even if fixed is highly
not-efficient if attempted in production build. Actually it never worked reliably
(causing random faults in places like MemoryPool), therefore it looks like it's
better not to have such buggy implementation at all.

Added AIX implememntation - using AIX atomic functions.
2009-01-09 14:44:53 +00:00
alexpeshkoff
3af8b76e69 Finished x86 solaris port 2009-01-08 17:08:04 +00:00
asfernandes
91a4550d23 Misc 2009-01-06 17:46:08 +00:00
robocop
8f1bfc71b4 Initial code to fix CORE-2140: escape sequences \n and \t aren't interpreted by the MsgPrint facility. To be tested by Vlad. 2009-01-06 09:47:24 +00:00
robocop
21bb7f3d20 Style. 2009-01-03 09:14:29 +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
a177d28d60 Misc 2008-12-31 20:22:10 +00:00
alexpeshkoff
755f52124b Solaris port 2008-12-30 17:58:30 +00:00
alexpeshkoff
4c07423ba1 Better fix for signed/unsigned problem - thanks to Claudio 2008-12-30 14:43:46 +00:00
robocop
e9be920cc0 Shut up some compiler warnings (some warnings should be enabled again in autoconfig_msvc.h IMHO because hiding our possible mistakes won't help us). 2008-12-30 10:52:52 +00:00
dimitr
c5e7a6a21d If the copying is really intended to be forbidden, let it be so. 2008-12-29 13:19:05 +00:00
alexpeshkoff
bd680bcb47 Solaris port 2008-12-28 15:26:05 +00:00
alexpeshkoff
ca0dfb5c32 It was bad idea to compare size_t (unsigned) to be less 0 2008-12-28 15:25:34 +00:00
asfernandes
5a85277726 Misc 2008-12-25 14:25:01 +00:00
robocop
b6e6e537d8 Style. 2008-12-24 07:46:11 +00:00
hvlad
f612bac260 Fixed unregistered bug : incorrect result of AbstractString::equalsNoCase().
Hopefully this function was not used anywhere.
2008-12-23 13:32:29 +00:00
robocop
45062eef99 Simplification. 2008-12-21 10:49:48 +00:00
asfernandes
e72c46dd34 Fix GCC build 2008-12-20 15:16:05 +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
alexpeshkoff
1aead3cb62 fixed posix/intel build 2008-12-15 18:03:43 +00:00
robocop
8b20c40bf3 Misc. 2008-12-13 09:41:36 +00:00
robocop
761f0348ea Style. 2008-12-13 09:26:00 +00:00
robocop
f140cbb7d2 Before I put the "explicit" modifier on AtomicCounter's constructor, the compiler was generating a temporary AtomicCounter on the fly and later assigning it to the target AtomicCounter instance to satisfy an assignment of an integer to an AtomicCounter. I'm not sure we want to allow (and worse, foster) the copying of AtomicCounter instances or temporaries created by the compiler, hence I implemented a new method and fixed the code, but I don't know how to write the best code for one group of platforms in fb_atomic.h, hence I wrote the method with a syntax problem to be caught by someone who knows better. 2008-12-13 09:19:22 +00:00
alexpeshkoff
017a5b6759 HPUX port 2008-12-11 10:59:26 +00:00
robocop
88a722c08a The original idea is to allow ANY character to serve as segment separator (it may make sense in binary streams) when fetching data from blobs. Restore Alex' code that respected the original design. 2008-12-09 07:23:58 +00:00
asfernandes
1a9a023df5 Misc 2008-12-08 14:23:54 +00:00
asfernandes
a7d63bb8a7 Misc 2008-12-08 00:26:06 +00:00
alexpeshkoff
eda7114225 Fixed CORE-2223: Multiple bugs in gbak when working with ACLs 2008-12-05 15:06:21 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +00:00
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +00:00
asfernandes
7e7e38feb0 Misc 2008-12-05 00:17:04 +00:00
paulbeach
c824c78d83 Small mods for HPUX to support 2.0.5 2008-12-01 14:52:56 +00:00
alexpeshkoff
2200a681f8 fixed some gcc warning 2008-11-28 18:49:07 +00:00
alexpeshkoff
b4f7717eb3 Implemented CORE-1758: nBackup support in Services API. 2008-11-20 17:29:38 +00:00
alexpeshkoff
d8ea120ded AIX port - use FB_ prefix for alignment constants 2008-11-05 11:26:23 +00:00
alexpeshkoff
1125b45ebe SAS changes - AIX port started 2008-10-30 09:33:55 +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
dimitr
230071848e Fixed the Windows build. 2008-10-13 19:21:43 +00:00
hvlad
a3c30a6aef Missed method (in WIN_NT implementation) 2008-10-11 10:10:01 +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
alexpeshkoff
9b69175326 Improvement CORE-1107: Services API extension for new (single, full) shutdown modes 2008-09-16 14:19:09 +00:00
alexpeshkoff
6c4f362913 AST != signal-safety since 2.5 2008-09-15 14:44:33 +00:00
asfernandes
7a5b0121d8 Misc 2008-09-14 23:17:58 +00:00
asfernandes
25d751ea32 New methods for array classes 2008-09-14 22:45:00 +00:00
dimitr
2e60c908ef Fixed the annoying warning in 64-bit builds. 2008-09-12 14:12:47 +00:00
asfernandes
cc5b689eda Misc 2008-08-29 02:18:50 +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
dimitr
a8d62d83db Correction by Dmitry Kovalenko. 2008-08-25 07:02:17 +00:00
dimitr
8a9c465bdb Misc. 2008-07-27 22:33:03 +00:00
robocop
7182bbaa8b Style. 2008-07-16 11:15:00 +00:00
asfernandes
7f4f7b06d6 Misc 2008-07-16 01:39:12 +00:00
robocop
33117c6a62 const. 2008-07-15 11:37:49 +00:00
robocop
1d715031a6 - Make a protected function with repetitive code.
- Little optimization when an array is overwritten (operator= or assign).
- Misc changes.
2008-07-13 09:52:38 +00:00
alexpeshkoff
aeba7e6444 Fixed CORE-1957 & CORE-216: too many grants lose privileges. ACLs cleanup. 2008-07-11 13:50:59 +00:00
asfernandes
607f55503d Misc 2008-07-11 02:37:23 +00:00
asfernandes
55ee33ffb5 Misc 2008-07-08 15:39:03 +00:00
alexpeshkoff
4d2e830cd5 Fixed CORE-1983: Out of memory condition in OS causes AV 2008-07-08 08:57:31 +00:00
asfernandes
0d31f7c8b4 Fx Linux build 2008-06-29 15:52:46 +00:00
robocop
f9fe3a771b Misc: use sizeof instead. 2008-06-26 12:02:21 +00:00
robocop
b257c4a30a Misc. 2008-06-26 11:03:53 +00:00
asfernandes
23e4059ce5 Changed attribute name NUMERIC to NUMERIC-SORT - sugested by Claudio 2008-06-25 01:46:50 +00:00
alexpeshkoff
99f17b4d00 1. Frontported fix for CORE-1944: Monitoring tables contain wrong data
2. Added new methods to Clumplet classes - date, time and floating point support.

3. Avoid endianess #ifdef's in Clumplet classes.
2008-06-24 13:07:12 +00:00
asfernandes
552f58dd48 Misc 2008-06-06 02:25:35 +00:00
robocop
b8ea332022 Misc. 2008-06-05 11:02:42 +00:00
alexpeshkoff
7f4b15737f Some service for us - make errors in destructors visible to debugger 2008-06-03 11:43:42 +00:00
robocop
a1906d634f Style. 2008-06-03 06:19:50 +00:00
robocop
07c087094d Mostly remove useless parentheses. 2008-06-03 06:14:59 +00:00
asfernandes
dbaf050e86 Set the tdbb->request to NULL when committing an autonomous transaction, as a normal COMMIT does. This fixes assertion related to system blobs created by DDL commands in EXECUTE STATEMENT. Test case:
execute block
as
begin
  in autonomous transaction do
     execute statement 'create table x (n integer)';
end!
2008-06-01 19:14:41 +00:00
robocop
88859fdc51 Make operations a bit faster by enabling the vector to add an array of values in a single pass (the same idea as insert's overloaded version). 2008-05-25 12:16:20 +00:00
dimitr
1ebc716eb2 Misc. 2008-05-25 07:19:31 +00:00
asfernandes
4343cbfeba Do the same kind of cleanup in jrd/pass1 as done for "proc_flag" in dsql/pass1 - recursive passing the same parameters that is changed in specific situations makes difficult to understand the logic. 2008-05-18 01:02:35 +00:00
robocop
5777ff76fa More VC6 cleanup. 2008-05-14 13:11:41 +00:00
robocop
1cdd4e4126 Clean the sources from VC6 hacks. 2008-05-14 05:17:53 +00:00
asfernandes
fa3e3c24d1 Misc 2008-05-13 18:51:35 +00:00
dimitr
6a593eca17 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:41:24 +00:00
asfernandes
b2abfa3d8b Compatibility with Valgrind 3.3 2008-04-27 18:53:33 +00:00
asfernandes
53a2090f65 Misc 2008-04-27 02:39:51 +00:00
alexpeshkoff
051eae391f Added useful JString methods to Firebird::string 2008-04-24 15:44:54 +00:00
asfernandes
cfb2b8ee91 Misc 2008-04-23 02:19:25 +00:00
robocop
05271261e1 Style. 2008-04-19 11:11:10 +00:00
robocop
61662f5b5b Constness and style. 2008-04-19 09:42:01 +00:00
robocop
5b0a5ded86 Style. 2008-04-18 10:03:04 +00:00