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
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