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

721 Commits

Author SHA1 Message Date
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
robocop
6f31045e33 Misc. 2008-04-16 09:25:36 +00:00
alexpeshkoff
c80b38952b Avoid violating const rules - thanks to Claudio 2008-04-15 14:00:58 +00:00
alexpeshkoff
9d67aa1220 New methods in RefPtr template 2008-04-15 08:53:54 +00:00
hvlad
fe3f8c184b New EXECUTE STATEMENT with support of external data source implementation 2008-04-09 20:18:47 +00:00
alexpeshkoff
1a1732aa14 Fixed use of nanoseconds in struct timespec 2008-04-09 13:34:25 +00:00
hvlad
ea5f555891 Corrections noted by Claudio 2008-04-06 21:58:08 +00:00
asfernandes
29fbfbb8ff Misc 2008-04-06 14:45:51 +00:00
hvlad
981d1c558f RefPtr : constness and new assignment operator 2008-04-05 22:39:19 +00:00
robocop
ee46acd6bc Misc. 2008-04-03 13:17:32 +00:00
asfernandes
f0299cfb29 Misc 2008-04-03 01:11:26 +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
b5f62a63b0 Misc 2008-03-30 20:43:36 +00:00
robocop
ace427e4e3 exist() shortcut. 2008-03-29 13:24:22 +00:00
robocop
180928af4c const. 2008-03-28 13:26:17 +00:00
robocop
b3de41ea87 Misc. 2008-03-28 13:25:47 +00:00
alexpeshkoff
4e5a83e767 1. Make remote port RefCounted object.
2. Removed deferred cleanup hack.
3. Fixed races when events are delivered - thanks to Vlad.
2008-03-27 10:15:05 +00:00
asfernandes
aa82019f87 Remove warnings and errors in the GCC/Linux build 2008-03-27 02:41:55 +00:00
dimitr
b87b5032ef Changes in the TimeStamp class by Dmitry Kovalenko. 2008-03-26 10:21:04 +00:00
asfernandes
5496df8839 Misc 2008-03-26 02:13:34 +00:00
alexpeshkoff
21ca11f328 1. Moved processing of exceptions in guards' dtors to better place.
2. Added class Reference (RefCounted guard) and use it in the tree.
2008-03-25 08:44:11 +00:00
alexpeshkoff
68d88584b8 Fixed gcc warning 2008-03-24 15:18:26 +00:00
alexpeshkoff
e600c2b27f Added template to be used when AutoPtr points to array 2008-03-24 15:00:53 +00:00
dimitr
a600c7789f Validation. 2008-03-24 10:36:11 +00:00
dimitr
fda35bd451 An attempt fo speed up compilation. 2008-03-24 09:31:14 +00:00
robocop
1662d17d89 Misc. 2008-03-22 09:00:43 +00:00
asfernandes
3aca6f92b1 Misc 2008-03-21 02:42:24 +00:00
dimitr
71da9925ec 1) Added proper handle validation for dbb.
2) Changed dbb_sync lifestyle handling.
3) Sync'ed access to the att_long_locks.
2008-03-20 16:41:17 +00:00
dimitr
a8963cb9db Make the reference counting a common feature. 2008-03-20 13:00:31 +00:00
dimitr
13f5cc92e1 Major cleanup of the old-style blk and allocator-based blk_type. 2008-03-19 16:09:00 +00:00
dimitr
36c89e955f Get rid of warnings. 2008-03-18 06:29:36 +00:00
alexpeshkoff
ed25245303 Applied shutdown changes, discussed in fb-devel a week ago. 2008-03-17 16:49:47 +00:00
asfernandes
262dbadc4f Misc 2008-03-15 17:55:27 +00:00
robocop
462e6f66a3 Use the template type. 2008-03-15 10:26:36 +00:00
hvlad
ebc4644ea1 Add check in WIN_NT's DEV_BUILD for correct mutex unlocking\deleting.
Implement new EnsureUnlock class for use instead of (or together with) LockGuard's if LockGuard is not usable.
2008-03-13 12:54:31 +00:00
robocop
55e17e46d7 - Made some constructor explicit and discovered that for adding one byte to a string, a temporary string was being created on the fly. Unacceptable in loops.
- Disabled constructor from hell for now. I wasn't the only one confused about the nature of the only argument: only looking at the signature one realizes it's a byte's value, not the initial length.
2008-03-13 10:38:39 +00:00
asfernandes
12c50384b5 Misc 2008-03-13 02:43:32 +00:00
alexpeshkoff
4139292369 added new method to posix threads mutex 2008-03-12 13:36:33 +00:00
hvlad
6c17170820 Made Mutex::tryEnter more efficient. Per Claudio request 2008-03-12 08:17:15 +00:00
hvlad
a4c75379e9 Correction, noted by Alex 2008-03-11 14:33:09 +00:00
hvlad
b033934400 Implement Mutex::tryEnter and new RefMutex class - mutex with reference counted lifetime 2008-03-11 14:08:23 +00:00
robocop
b4091ac9a6 Make them explicit. 2008-03-10 08:16:57 +00:00
asfernandes
74d8711856 Misc 2008-03-08 21:20:26 +00:00
robocop
812058f940 Totally misc. 2008-03-08 11:32:11 +00:00
robocop
1906fc5b02 Totally misc. 2008-03-08 07:34:44 +00:00
robocop
b36ed44a4b Cleanup. 2008-03-02 09:24:11 +00:00
paulbeach
5790eae079 Fix UNIX2003 symbol issue with kinterbasdb and SuperServer.
Make sure that sem is used properly depening on MacOSX 10.4 or 10.5
Correct the header file in config_root.cpp to pull in MacTypes.h properly
2008-02-29 15:23:17 +00:00
alexpeshkoff
2b91ffd1ce 1. Avoid suspicious operator!().
2. Make GlobalPtr<> usable in static local variables.
2008-02-28 13:59:03 +00:00
robocop
c94b6c9a58 Misc. 2008-02-21 13:19:45 +00:00
dimitr
e3e9d3c172 Cleanup. 2008-02-20 15:25:20 +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
alexpeshkoff
cbed6dbcf2 Explicit init for mutexes - thanks to Claudio 2008-02-11 09:52:32 +00:00
paulbeach
978dabb8f2 64bit MacOS use __x86_64__ instead of DARWIN64 as per Adriano 2008-02-08 10:49:25 +00:00
paulbeach
aa44c442ce 64bit MacOS 2008-02-06 16:51:00 +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
f9a14e19bf Use LockGuard instead of try/catch 2008-02-04 11:59:42 +00:00
alexpeshkoff
6622980725 One more common storage class 2008-02-02 17:43:59 +00:00
robocop
0d1985d1f0 Misc, explicit constructors, extra commas in enumerations, constness, etc. 2008-02-02 16:57:15 +00:00
asfernandes
6e88cb9598 Misc 2008-02-01 17:33:14 +00:00
alexpeshkoff
83ec91fb5b Ignore exceptions in destructors in release build 2008-01-31 12:01:03 +00:00
alexpeshkoff
e231c73051 First add an element, next increase count - makes class safer in MT world 2008-01-31 11:03:55 +00:00
alexpeshkoff
9f4c2e9a61 having this methods const dangerous - thanks to Claudio 2008-01-31 10:53:18 +00:00
asfernandes
ce0ae486c5 Misc 2008-01-29 18:07:37 +00:00
alexpeshkoff
35520bc1f1 fixed posix SS - use recursive mutex to protect security DB access 2008-01-29 15:03:34 +00:00
dimitr
d57616e749 Just a little useful feature. 2008-01-29 12:16:41 +00:00
dimitr
d61abb2710 Misc. 2008-01-29 11:57:35 +00:00
dimitr
2b89d48d8f Misc. 2008-01-29 10:20:41 +00:00
asfernandes
de8771570f Misc 2008-01-29 01:36:41 +00:00
mkubecek
2c98e5b193 added missing namespace 2008-01-27 02:33:14 +00:00
alexpeshkoff
fa4354b0f3 Remove conditional compilation - it was raising hell in windows build 2008-01-24 15:01:02 +00:00
alexpeshkoff
0943027a19 do not initialize context pool in init() - TLS may be not ready for it 2008-01-24 11:09:37 +00:00
dimitr
e1d53429ae Fixed the win32 build. 2008-01-23 19:27:36 +00:00
asfernandes
aea2bcb354 Misc 2008-01-23 19:03:16 +00:00
alexpeshkoff
704c3ddc11 added new file to support GlobalPtr 2008-01-23 15:55:21 +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
887206e65b The merge is being fixed. 2008-01-16 13:38:46 +00:00
dimitr
8ef0e6aba7 The merge continued. 2008-01-16 06:24:06 +00:00
robocop
3c411cdade No need to use the class name in a member function declaration inside the class. 2008-01-05 08:19:44 +00:00
asfernandes
0ee85c7525 Misc 2007-12-28 00:14:00 +00:00
paulbeach
8f06756d06 Minor Mods MacOS 2007-12-27 13:47:38 +00:00
paulbeach
4a2f1647fe Apply MacOS changes to HEAD 2007-12-27 10:55:58 +00:00
robocop
11afbba54d I don't see the point in using the class name to qualify a method declaration inside the class definition. 2007-12-22 09:37:27 +00:00
asfernandes
c27c33d750 Misc 2007-12-22 00:53:39 +00:00
paulbeach
f0e34ffc83 Apply MacOS changes to HEAD 2007-12-19 14:35:52 +00:00
dimitr
48ec3bd270 1) Make the class members more readable.
2) Add two methods: release() and reset() (accordingly to the ISO/IEC 14882 standard re. auto_ptr).
3) Utilize release() in DatabaseSnapshot.
2007-12-17 13:49:29 +00:00
alexpeshkoff
62dde2b68f misc 2007-12-07 12:50:43 +00:00
paulbeach
d1a0e95271 MacOS 10.5 (Leopard) updates 2007-12-07 12:19:37 +00:00