asfernandes
de7dbae857
Rollback changes of all ON TRANSACTION COMMIT triggers when one trigger fail
2006-12-30 01:26:50 +00:00
dimitr
40f6fa11d0
Let's not cancel the verb cleanup process as it causes a fatal bugcheck.
2006-12-22 15:49:31 +00:00
asfernandes
bfcc8df647
Restore the original status vector
2006-12-13 14:28:57 +00:00
asfernandes
7329ad3f3b
Run ON DISCONNECT triggers on server shutdown - thanks to Alex
2006-12-12 14:21:17 +00:00
alexpeshkoff
1a4652f01a
Trusted authentication for windows
2006-12-08 18:38:15 +00:00
dimitr
b43b43eca9
1) Changed MON$STATEMENTS a bit.
...
2) Implemented statement cancellation.
2006-12-04 21:36:29 +00:00
asfernandes
d168869475
Added RDB$NULL_FLAG and RDB$PARAMETER_MECHANISM to RDB$PROCEDURE_PARAMETERS
2006-11-24 00:25:13 +00:00
asfernandes
3e7a2b4542
Do not swallow bugcheck exceptions - thanks to Claudio
2006-11-12 21:19:50 +00:00
robocop
4734698382
Fix a crash in Adriano's db triggers when using -shut and -tran in gfix, because TRA_start can throw and thus our result in jrd.cpp was uninitialized.
2006-11-10 08:38:55 +00:00
robocop
7a46dc7247
Misc.
2006-11-10 08:12:07 +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
hvlad
f48f2af25b
Few corrections pointed by Claudio
2006-11-03 09:42:42 +00:00
asfernandes
4197a8be70
Fixed a bug when the connection charset is multibyte, appeared after recent changes to CsConvert class.
2006-11-02 22:37:19 +00:00
dimitr
543fc5e0d1
Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment.
2006-10-31 15:59:23 +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
358326eb08
Misc
2006-10-14 18:33:12 +00:00
robocop
28c3d29886
ApiGuide.pdf says a maximum of 16 databases is allowed for a multi-db transaction. However, Ann agrees that a modern new, sensible limit is 256 databases for start_transaction and start_multiple.
...
Fixed a buffer overrun in jrd.cpp related to this.
2006-10-14 01:29:36 +00:00
asfernandes
1d422a8330
1) Refactor intl_classes.h and intl.cpp
...
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
8e7e781e5f
Partial commit with some cleanup and more constants.
2006-10-10 06:41:36 +00:00
asfernandes
4191332d2f
Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling
2006-10-10 03:53:08 +00:00
robocop
861cc66a6f
Dmitry's last commit appears incomplete for me (for example, no project files were updated). While trying to fix the VC6 build, I added the new class to the three "common*" projects and commented a line in jrd.cpp. Server may misbehave due to the jrd modification.
2006-10-08 07:57:15 +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
asfernandes
3cf910dedf
Misc
2006-09-15 02:14:46 +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
ba264a2388
Fixed CORE-900
2006-08-17 09:51:34 +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
dimitr
17f99e1489
More fixes for the monitoring stuff.
2006-07-24 15:56:50 +00:00
robocop
64f6eb42a1
Misc.
2006-07-21 01:35:17 +00:00
asfernandes
155ab12384
Misc
2006-07-20 03:14:15 +00:00
dimitr
b7671e2bf6
Increase minimal created page size to 4096. Note that we still can open less page sizes.
2006-07-19 15:16:14 +00:00
dimitr
129e6229ee
Monitoring, continued.
2006-07-19 06:19:56 +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
robocop
d2d3230637
Misc.
2006-07-01 08:50:21 +00:00
robocop
db5f743685
Misc.
2006-06-16 08:13:20 +00:00
dimitr
7cc12e8489
1) Reworked memory management in SORT. Now we're pools aware there.
...
2) Reworked error handling in SORT and its callers.
3) Replaced DLS+SortMem with the generic TempSpace class.
4) Replaced GDS temp file management with the TempFile class.
5) Various cleanup.
2006-05-31 08:53:00 +00:00
robocop
40f05409c9
Cleanup done and tree is buildable again.
...
:-)
2006-05-25 10:20:31 +00:00
robocop
7040d668fd
Misc.
2006-05-25 08:40:23 +00:00
asfernandes
8dfca54dda
Complete Dmitry's cleanup of all_proto.h
2006-05-23 12:23:53 +00:00
hvlad
701f2cbda4
Global temporary tables implementation
2006-05-21 22:07:35 +00:00
asfernandes
292ad66e96
Misc
2006-05-20 01:53:51 +00:00
alexpeshkoff
b056a118b5
1. Avoid use of STL
...
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
9ff5877b36
Fixed the posix build.
2006-05-13 05:02:13 +00:00
dimitr
ab72aae201
Threading cleanup. Restored the V4_THREADING code to the state it was before Blas' cleanup. It's not used but preserved as a self-documentation.
2006-05-01 05:11:52 +00:00
dimitr
bece02f7e8
Threading cleanup. More to follow.
2006-04-30 18:15:30 +00:00
dimitr
8f9d2584db
Threading cleanup. More to follow.
2006-04-30 17:40:24 +00:00
dimitr
79652b7222
Threading cleanup. More to follow.
2006-04-30 17:30:32 +00:00
dimitr
8e07223ebf
Threading cleanup. More to follow.
2006-04-30 16:28:30 +00:00
robocop
e49082193a
Delete redundant cast.
2006-04-29 05:42:43 +00:00
asfernandes
89ce677f48
Misc
2006-04-26 02:49:25 +00:00
dimitr
e5869b3921
Misc.
2006-04-25 07:37:19 +00:00
alexpeshkoff
7aa58b7f3a
fixed debug build
2006-04-16 12:52:58 +00:00
asfernandes
7923390e54
Allow collation IDs greater than 127
2006-04-05 16:34:18 +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
hvlad
7c5c5ec818
Don't overwrite dbb_oldest_snapshot and another transaction numbers with
...
oldest values from header page after user call to isc_info_oldest_snapshot etc
2006-02-03 13:23:58 +00:00
robocop
97122ee389
Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary.
2006-02-03 08:39: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
51e1d59ac5
Misc.
2006-01-28 04:12:42 +00:00
robocop
1e6d89ebfc
Comment excessive dependencies on license.h.
2006-01-07 00:31:37 +00:00
dimitr
2204fe9624
Fixed the garbage trigger name (reported by Alex).
2006-01-03 11:28:24 +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
alexpeshkoff
62a24d46e4
1. Moved data structures, written to database file, into ods.h.
...
2. Added new types of clumplets to ClumpletReader and ClupmletWriter.
3. Applied modified ClumpletReader and ClupmletWriter to /remote and partially /jrd.
4. Added active protection from remote brute-force attack to services API.
2005-11-27 20:53:09 +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
robocop
2e49ce85c9
Misc.
2005-10-14 04:12:36 +00:00
alexpeshkoff
46dd9a90d6
1. reanimated -database switch in gsec\n 2. isc_file.cpp should now compile at AIX\n 3.Use PathName to store database name in jrd.cpp during attach/create
2005-09-30 16:16:39 +00:00
asfernandes
13910d5c73
Fix issue of SQLVAR.sqllen from non-system MBCS fields, thanks to Roman
2005-09-14 18:09:40 +00:00
alexpeshkoff
e832cd2c68
fixed BOFs in PIO functions
2005-09-08 16:41:56 +00:00
asfernandes
0b1eb55d62
Fixed SF field-test #1249187 - 2.0a3: String literals dest. for large CHAR fields truncated
2005-08-21 15:52:30 +00:00
dimitr
92415ce39f
Fixed a bugcheck (and possibly an engine crash) during server shutdown.
...
Force a TIP based rollback instead of using a transaction-level savepoint in this case.
2005-07-25 05:03:26 +00:00
dimitr
0af3a3f462
Fixed one of the server shutdown bugs. More to come.
2005-07-24 18:48:45 +00:00
dimitr
c4ff5cf6b8
Expanded the routine comment.
2005-06-25 09:34:59 +00:00
dimitr
0ce1d52f3e
Slightly changed (mostly cleaned up and fixed) the SS shutdown mechanics.
2005-06-24 11:14:51 +00:00
asfernandes
890494ac7c
1) Fixed SF #1016040 Missing external libraries causes engine exception
...
2) Use better error messages
2005-06-14 03:16:54 +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
alexpeshkoff
5729790ed6
1. Applied class MetaName
...
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
robocop
c8de3fff0c
Change misleading comment.
2005-05-02 09:10:06 +00:00
dimitr
559843c97d
Fixed origin of the 100% CPU load when an I/O error causes a rollover to non-existing shadow.
...
Also fixed attempt to wait for the attachment-owned lock for the already purged attachment.
2005-05-02 07:01:33 +00:00
asfernandes
eabacfd9ad
Apply Vlad's patch reverting to legacy behavior about overwrite of non-database files
2005-05-01 14:58:21 +00:00
robocop
b609407d9b
We can live with static_cast for these cases.
2005-04-18 03:32:35 +00:00
alexpeshkoff
808422abaf
fixed windows build
2005-04-14 17:06:14 +00:00
asfernandes
b5294dc7a9
Fixed SF #1155520 - Any user can replace databases created by others
2005-04-13 01:06:24 +00:00
alexpeshkoff
504ec492ab
Shutdown SS without SYSDBA password
2005-04-11 15:33:18 +00:00
hvlad
f09ef16560
1. New switch for gbak -RECREATE_DATABASE [OVERWRITE].
...
Simple RECREATE_DATABASE is equal to CREATE_DATABASE,
RECREATE_DATABASE OVERWRITE is equal to REPLACE_DATABASE.
2. gbak uses isc_dpb_overwrite to create database over existing files
3. engine overwrite existing files only if asked explicitly by
user by setting isc_dpb_overwrite to 1
4. fixed unregistered bug - when gbak uses service manager and passed
command line contains invalid switch. Service reports error and
finish but not call Service::svc_started therefore response is not
send and gbak is stalled forever
2005-04-09 18:44:50 +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
331b974d4b
Fix role parsing bug. I warned the committer five months ago, but it got lost among his duties, so I'm fixing it now with the same suggestion I gave then.
...
Demonstration:
SQL> connect isqltest.fdb role "your bug""""is here";
and see what you get inside options.dpb_role_name in jrd.cpp at line 946.
2005-03-15 02:09:58 +00:00
alexpeshkoff
f4cd5a154f
Changed name to security2.fdb
2005-02-24 12:24:38 +00:00
robocop
8d4b89723f
Welcome to paranoid programming.
2005-01-25 06:33:07 +00:00
alexpeshkoff
643c54fba5
verify DatabaseAccess in the same style&place for both attach and create
2004-12-20 17:44:25 +00:00
alexpeshkoff
8a2e6d6c59
Better way for server to authenticate itself in security database.
2004-12-19 15:24:59 +00:00
skidder
252fae8d3b
Second attempt to fix backing up of stream blobs.
...
This time it should work with XNET and INET too.
Rollback earlier engine fix which now seems incorrect to me.
2004-11-30 20:17:39 +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
robocop
381ca2754b
Misc.
2004-11-27 06:51:58 +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
alexpeshkoff
bdd3b32278
use ClumpletReader to parse dpb options
2004-11-24 18:26:24 +00:00
robocop
d6535351a2
Misc: style.
2004-11-24 09:22:07 +00:00
hvlad
d1e720d9cb
GC policy config entry don't need to be case-sensitive
2004-11-11 10:17:16 +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
skidder
1fa9ec81c7
Use case-sensitive comparisons for GC policy configuration entires. stricmp does not exist on Linux.
2004-11-10 23:02:31 +00:00
robocop
cf0c42f971
Misc.
2004-11-10 05:19:20 +00:00
hvlad
aba34753cb
Add config file parameter for the garbage collection policy
2004-11-09 12:59:37 +00:00
robocop
e2ed110d8c
Misc.
2004-11-08 08:01:26 +00:00
alexpeshkoff
3bd02ee852
security fix
...
1. Use SHA1 hash instead of ENC_crypt.
2. Disable any remote (non-embedded) access to security.fdb.
3. Use services in gsec and isc_*_user() fucntions.
In gsec switch -database replaced with -server.
4. Protect from attempts to brut-force accounts/passwords.
2004-11-07 14:50:53 +00:00
robocop
e5be73b048
Misc: extra semicolons do not help. :-)
2004-11-07 10:47:20 +00:00
dimitr
feb6b7e006
Replaced non-centralized datetime management with a new class.
2004-10-30 19:41:54 +00:00
robocop
202f9ab5db
Misc.
2004-10-28 05:23:16 +00:00
skidder
b29f8356c5
Implement routines for convenient dumping of memory pools under debugger
2004-10-25 05:14:12 +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
7dcb66a250
When you call va_start, call va_end, don't assume it does nothing because some platforms don't have code for it!
...
Changed some sprintf to SNPRINTF. Work in progress WRT wrapper for this function.
2004-09-25 10:28:09 +00:00
alexpeshkoff
388503229c
fixed problems with DatabseAccess verification during Create Database
2004-09-07 07:03:25 +00:00
alexpeshkoff
c3db4aaa97
added (and used in sources) template to change and restore default pool
2004-08-30 18:11:08 +00:00
alexpeshkoff
31039a254e
next step preparing to allocate auto objects memory from appropriate pool
2004-08-16 12:28:43 +00:00
robocop
53c645ce82
Temporary fix for first problem reported by Adriano dos Santos Fernandes.
...
Server should continue working normally if gbak tries to restore a db in a forbidden path.
Now mutex is unlocked and server can continue working. However, engine doesn't unload the db so it still thinks there's an active connection.
The proper fix should come from Alex, that probably involves throwing an exception to activate the code inside the catch() section.
2004-07-30 05:56:35 +00:00
skidder
8f0cf89afb
Correct problems with single-user maintenance mode (note it is used for GBAK restore process now)
2004-06-12 01:06:05 +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
robocop
1332d98618
Literal strings should be treated as const char*
2004-06-05 09:37:18 +00:00
alexpeshkoff
9a34ce553c
make bool (isEmpty/hasData) checks for string and stack safe
2004-05-27 16:26:52 +00:00
brodsom
64c1dee04e
-Use C++ struct declaration style.
2004-05-24 17:31:47 +00:00
brodsom
75a0483d75
-Comment some common.h unused macros
...
-Replace VA_START macro with va_start function (it was already some places where it is not used)
2004-05-23 23:28:06 +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
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
brodsom
b76a60e8b7
Move THREAD_ functions from thd.h to thread_proto.h (and fix unix build)
2004-05-17 22:30:09 +00:00
brodsom
ee34db7e20
Macro cleaning (THREAD_*)
2004-05-15 00:58:46 +00:00
brodsom
9dbe1e64fe
-Remove casts unneeded after macro cleaning
2004-05-14 18:43:34 +00:00
robocop
802f244ec1
Misc changes
2004-05-09 05:48:33 +00:00
skidder
a8ebb7be3d
Apply lock handler fix to the case when multiple attachments are used inside Classic process. This is unusual, but possible case. Fix seems to be safe, but this is one of the most complex and sensitive parts of the engine
2004-05-08 02:57:06 +00:00
brodsom
ce7a5ced08
-Macro cleaning
2004-05-06 22:11:24 +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
80b424e346
-Replace define with const
...
-Move SYS_ERR, ERRNO, H_ERRNO and INET_ERRNO(ERRNO in inet.cpp) macros to common.h
-Remove unused macros
2004-05-05 21:55:13 +00:00
skidder
91efe0fba0
Carefully account attachment pointers used inside JRD lock structure. This should cure crash reported by Nils Boedeker
2004-05-05 05:28:48 +00:00
brodsom
cb08ec3407
-Fix another incredibly stupid legacy variable naming, variable name = struct name.
2004-05-03 17:31:28 +00:00
skidder
43cb0d1ce4
Y-Valve handle translation layer
2004-05-02 23:06:37 +00:00
brodsom
5cf9fdfc90
Removing ib_stdio.h
2004-04-28 22:43:34 +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
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
alexpeshkoff
f0aaf79090
fixed posix warning - dropped unneeded copy_string()
2004-03-31 17:51:43 +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
alexpeshkoff
88dcae12db
fixed some problems with posix debig build
2004-03-22 15:13:05 +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
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