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

1166 Commits

Author SHA1 Message Date
3c504ad757 Fixed CORE-5484: Database on NFS share is unavailable when accessed using mount point path 2017-02-15 16:47:04 +03:00
hvlad
415fdc4273 Fixed bug CORE-5476 : Trace shows info only after 2nd (repeated) .sql run (FB must be restarted before this) 2017-02-04 00:50:59 +02:00
hvlad
aff780ca94 Merge branch 'master' into read_consistency 2017-01-31 23:59:31 +02:00
4da3997b49 Fixed CORE-5472: Problems with dbcrypt key transfer 2017-01-31 17:38:53 +03:00
Adriano dos Santos Fernandes
cae7bdd658 Misc. 2017-01-15 12:53:50 -02:00
33f5b0f69e Better names - suggested by Dmitry and Vlad 2017-01-13 14:56:42 +03:00
01ecfb9225 Fixed CORE-5368: Regression: client application is hang (in same cases trow an access violation in Engine12.dll) on selecting from multiple threads using 1 embedded connection 2017-01-13 12:57:57 +03:00
5e70385a16 Fixed CORE-5433: Minor performance optimization - avoid additional database attachment from security objects mapping code 2016-12-30 19:28:37 +03:00
dbc73bff06 Restored security checks related to CHANGE_HEADER_SETTINGS privilege during attachment initialization 2016-12-30 19:18:06 +03:00
f88ddeda49 Fixed CORE-5428: Rare segfault when preparing request working with a table with triggers 2016-12-25 18:07:57 +03:00
Dmitry Yemanov
59a9129232 Temporarily disable the broken code path. 2016-12-14 19:30:25 +03:00
hvlad
c72cb574d4 Fixed bug CORE-5350 : Assert in CachedMasterInterface::set 2016-11-17 13:17:20 +02:00
Dmitry Starodubov
70acd97746 Added check for access rights to BLOBs (#53)
This security fix helps to avoid a case when user guessing blob ID in one or other way gets access to the blob which should not be accessible for him.
2016-10-18 10:39:04 +03:00
Adriano dos Santos Fernandes
937cb8dafd Misc. 2016-10-07 11:09:43 -03:00
Roman Simakov
052c97b662 Fixes for DB level triggers 2016-10-03 17:55:40 +03:00
Roman Simakov
9aab6ed8cc SQL SECURITY Feature (#42)
* Added SQL SECURITY clause to various DDL statements
2016-09-28 17:24:04 +03:00
1f32346d21 Frontported fix for CORE-5326: Embedded - encrypting a database crashes host process when background encryption gets ready while no connection is established to that database 2016-09-15 17:37:50 +03:00
6a745d9d9f Fixed CORE-5339: Assertion in createDatabase() when doing overwrite check 2016-08-26 19:04:15 +03:00
Dmitry Yemanov
9d6d0913da Fix missing flags initialization I accidentally removed in my last commit. 2016-08-22 09:13:44 +03:00
Dmitry Yemanov
a8af3b37a3 Slightly simplify csb initialization and better control its lifetime. 2016-08-20 16:53:54 +03:00
hvlad
20e03be59b Fixed bug CORE-5330 : Trace session leads FB 4.0 to hang 2016-08-16 22:33:17 +03:00
9d8b20a77e Fixed CORE-5269: FBTRACEMGR should understand "role <name>" command switch (needed to explicitly connect with role with "TRACE_ANY_ATTACHMENT" privilege) 2016-08-03 16:35:38 +03:00
a81d583845 Fixed CORE-5291: Error messages differ when regular user tries to RESTORE database, depending on his default role and (perhaps) system privilege USE_GBAK_UTILITY 2016-07-23 15:07:11 +03:00
Dmitry Yemanov
4759ea8aa3 Bugfix for CORE-5307: Random 'invalid transaction handle' errors are returned from the engine. 2016-07-13 18:48:12 +03:00
hvlad
a12035d461 Remove not necessary sync points - dbb_threads_sync 2016-07-06 16:16:22 +03:00
Dmitry Yemanov
0229709101 Bugfix for CORE-5275: Expression index may become inconsistent if CREATE
INDEX was interrupted after b-tree creation but before commiting.
2016-06-18 15:57:25 +03:00
Adriano dos Santos Fernandes
c07101e929 Misc. 2016-06-08 21:50:01 -03:00
7ad99b795e Added support for system privileges 2016-05-31 20:07:08 +03:00
Adriano dos Santos Fernandes
fbba8ad798 Misc. 2016-05-26 14:59:03 -03:00
hvlad
8f311f3c27 Merge branch 'master' into read_consistency
# Conflicts:
#	src/include/fb_types.h
#	src/jrd/Database.cpp
#	src/jrd/tpc.cpp
#	src/jrd/tra.cpp
#	src/jrd/vio_proto.h
2016-05-21 21:17:31 +03:00
Roman Simakov
238fff3a2d Fixed CORE-1815: Ability to grant role to another role (#23)
* Initial patch for cumulative roles

* Fixed multiple records in USER_PRIVILEGES and reworked logic on additional grant default role and admin option
2016-05-12 17:03:54 +03:00
Adriano dos Santos Fernandes
c31769c46a Fixed problems reported by PVS-Studio - http://www.viva64.com/en/b/0396/ 2016-05-11 13:16:24 -03:00
Dmitry Yemanov
174c252e0c Major refactoring of savepoints. Beware of possible regressions. 2016-05-06 20:16:14 +03:00
Dmitry Yemanov
59e6c1f0cf Postfix for CORE-5067. It prevents deadlocks involving the header page
and some data pages (due to disabled AST delivery).
2016-04-02 13:16:13 +03:00
Roman Simakov
5021c37285 Merge 2016-04-01 17:52:13 +03:00
Adriano dos Santos Fernandes
cf1a65dece Misc. 2016-03-27 23:36:37 -03:00
hvlad
3c62d90518 Merge branch 'master' into read_consistency 2016-03-24 11:58:13 +02:00
dimitr
1ae6a9b5c3 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2016-03-24 01:56:54 +02:00
hvlad
dfb2aafcd1 Replaced libatomic_ops by std::atomic, fixed few errors 2016-03-23 10:27:27 +02:00
Roman Simakov
f3fd2d7cb5 Initial apply patch of Nikolay 2016-03-22 17:43:58 +03:00
hvlad
b713cb895e Fixed bug CORE-5140 : Wrong error message when user tries to set number of page buffers into not supported value 2016-03-08 17:10:30 +00:00
alexpeshkoff
926e3d903e Fixed some asserts and segfaults in crypto manager
Disable simultaneous nbackup & encrypt/decrypt operation
2016-02-26 12:55:34 +00:00
hvlad
f2c8f05846 Front ported for CORE-5067 : Blocking new connections as a consequence of the too long sweep security2.fdb 2016-02-17 09:21:09 +00:00
alexpeshkoff
56e5ec3d78 Fixed CORE-5105: Deadlocks when database is initially encrypted 2016-02-05 15:21:58 +00:00
dimitr
8db2fdbd02 Fixed (or worked around, if you wish) redundant UTF8->system conversions happening if isc_dpb_utf8_filename tag is located in the middle of DPB. 2016-02-01 15:05:44 +00:00
asfernandes
436b531774 Misc. 2016-01-31 00:06:06 +00:00
dimitr
99ad42ab82 This should fix the races while accessing the relation statistics inside dbb_stats. Reads/writes/fetches/marks are incremented (CCH) and read (INF) unprotected, as it's crash safe and read skews are acceptable. Other counters (both global and relation wise) are protected with a mutex. They're incremented on demand based on the attachment counters (via diffs). While being there, cleaned up the currently unused performance counters. 2016-01-24 21:14:18 +00:00
hvlad
69afe4b976 Fixed bug CORE-5075 : Triger on DISCONNECT with dynamic SQL (ES 'insert into ...'): 1) does not work in 3.0
Also, log exception happens in ON DISCONNECT trigger.
2016-01-20 10:05:14 +00:00
hvlad
d82e043042 Fixed crash reason (see CORE-5075).
Error on disconnect requires more analyzing.
2016-01-14 23:09:01 +00:00
dimitr
df55756907 Unwind the cache before throwing. This prevents lock-ups during database shutdown. 2015-12-28 06:22:32 +00:00
dimitr
302cd6b401 Fixed CORE-4840: Transactions with isc_tpb_autocommit can hang the server. 2015-12-19 10:43:47 +00:00
aafemt
0903af542e Rollback 2015-12-17 13:44:34 +00:00
dimitr
e39801c450 This should fix the minor error reporting regression noticed for bugs.core_3323. 2015-12-16 16:43:59 +00:00
aafemt
1fc4e352b0 Allow key holders to be called on client side (CORE-5043) 2015-12-14 14:07:05 +00:00
dimitr
6b6b605e01 Fixed possible problems with asynchronous query cancellation (recent regression). 2015-12-11 06:52:44 +00:00
alexpeshkoff
0891bc723d Fixed CORE-5041: Database may get corrupted after ALTER DATABASE ENCRYPT/DECRYPT issued multiple times per database open time 2015-12-10 16:58:58 +00:00
dimitr
bf7951b259 Second round of my checkout/rescheduling changes. 2015-12-01 12:23:43 +00:00
dimitr
dc7aad88ed 1) Slightly refactored recheduling and checkout logic.
2) Re-enabled checkouts in PIO routines, this resolves CORE-4179. Windows build may be broken, please validate.
3) Implemented faster reaction on asynchronous cancellation/shutdown requests.
4) Avoided locking dbb_sync in AST. This change also solves races during massive attachment shutdown.
2015-11-29 15:12:31 +00:00
hvlad
a6d615c0cd Fix one of the reason for AV in the engine (see CORE-4680, test by Pavel Zotov at 18 Nov 2015).
The race when gone attachment released database object while another attachment is initialized and uses same database object.
Could happens with shared cache (former SS) only.
2015-11-20 10:17:54 +00:00
alexpeshkoff
ea5a949d1a Fixed CORE-4991: Key holder plugin is loaded on connect to database but not on create 2015-11-11 13:53:04 +00:00
dimitr
4e4d8002e5 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2015-10-19 13:32:02 +00:00
alexpeshkoff
139331c7e3 Enhanced memory leaks search - changed FB_NEW to FB_NEW_POOL,
plain new to FB_NEW, making allocated with it blocks tagged with file/line.
Make related code slightly better readable.
2015-10-12 14:26:00 +00:00
hvlad
b7faf29697 Removed unused mutex.
Fixed tiny memory leak.
2015-10-06 10:27:10 +00:00
dimitr
02120b05d1 Put some order to the page size macros and their usage. Changed the default page size to 8KB. 2015-09-01 07:24:10 +00:00
alexpeshkoff
ef78fedd46 Fixed CORE-4899: GFIX -online: message "IProvider::attachDatabase failed when loading mapping cache" appears in Classic (only) if access uses remote protocol 2015-08-18 15:04:04 +00:00
asfernandes
77f6054821 On behalf of alexpeshkoff after sourceforge crash - Postfix for CORE-4811: fix handling case for OS names 2015-07-26 15:35:52 +00:00
asfernandes
4a4e85e29a Fixed CORE-4279 - Invalid error message: "CHARACTER SET OCTETS is not defined" on db creation with isc_dpb_lc_ctype = OCTETS. 2015-07-12 21:16:33 +00:00
asfernandes
1f6811a99c Fixed CORE-4277 - Can create database with invalid character set. 2015-07-10 16:19:53 +00:00
alexpeshkoff
e420019cd4 Fixed CORE-4871: Merge SharedDatabase/SharedCache into single parameter ServerMode, affecting the way how server is started 2015-07-10 13:41:10 +00:00
alexpeshkoff
b692e85f56 Implemented CORE-4851: Apply methods, used for cross security database authentication, to the trace 2015-06-30 16:01:10 +00:00
alexpeshkoff
6cf0445c56 Fixed extremely rare segfault when shutting down server - no use in keeping security database(s) opened during shutdown 2015-06-04 12:07:10 +00:00
alexpeshkoff
1b6632ac8b Fixed CORE-4811: Make user names behave according to SQL identifiers rules 2015-06-03 13:57:18 +00:00
alexpeshkoff
364995fb88 Fixed code disabling access to network filenames in embedded mode 2015-05-20 13:07:06 +00:00
asfernandes
adf1fd737d Misc. 2015-05-02 03:54:03 +00:00
robocop
a9dfddf495 Misc. 2015-04-27 04:44:59 +00:00
alexpeshkoff
d284fa3c6a Fixed CORE-4768: CREATE USER ... TAGS ( argument_1 = 'value1', ..., argument_N = 'valueN' ) - wrong results of statement when there are many arguments 2015-04-24 13:07:40 +00:00
alexpeshkoff
bab9ce6e47 Fixed CORE-4743: Granted role does not work with non-ascii username 2015-04-17 18:35:39 +00:00
hvlad
b008023ab6 Exceptions in getTransactionInterface() should be catched and traced too 2015-04-17 13:27:01 +00:00
egorpugin
03580b29d6 [build] Fix duplicate symbol error on AppleClang while building for iOS. 2015-03-30 14:35:30 +00:00
asfernandes
336456d140 Misc. 2015-03-28 00:36:04 +00:00
alexpeshkoff
16768b177d Be more consistent putting IStatus into fast inline wrapper. Also some syntax sugar as suggested by Dmitry 2015-03-27 17:51:19 +00:00
alexpeshkoff
e7663b6bc0 Use status interface instead plain status vector when working with exceptions.
Avoid use of circullar allocation for strings in status vector (except when unavoidable for ISC API backward compatibility).
Use TLS for circullar allocation buffer instead manually working with threads' list.
2015-03-27 14:36:30 +00:00
alexpeshkoff
6c5f9b77fe Cleanup - avoid automatic type conversion in FbLocalStatus as suggested by Claudio 2015-03-23 11:06:51 +00:00
alexpeshkoff
c4c9daf132 Avoid limits on size of status vector in engine. Ensure that status is always clean on entry to interface methods. 2015-03-20 18:02:30 +00:00
robocop
939feab036 Misc. 2015-03-13 15:26:22 +00:00
alexpeshkoff
90c01a246e Fixed role's case handling when checking grant for create database - thanks to Claudio 2015-03-11 13:39:58 +00:00
dimitr
d2db1a782e Fixed a possible reason for CORE-4705. Alex, please review. 2015-03-06 20:43:57 +00:00
alexpeshkoff
7fed9ff78c cleanup 2015-03-05 16:18:46 +00:00
alexpeshkoff
219c62b46e Full fix for CORE-4698, also fixed some more or less related leaks, segfaults and assertions 2015-03-04 16:18:53 +00:00
alexpeshkoff
4b08cccbf0 Dynamic buffer for status vector and dynamic strings in IStatus 2015-02-25 17:03:39 +00:00
hvlad
291e028ef3 Simplest fix for bug CORE-4698 : typing "add -user SYSDBA -pw masterkey -admin yes" into gsec crashes firebird.exe 2015-02-24 09:15:24 +00:00
hvlad
1470f7a61e Fixed leak of various J-objects in EXECUTE STATEMENT (CORE-4683) 2015-02-22 10:58:28 +00:00
dimitr
4fd0614875 Misc code simplification. 2015-02-19 19:52:28 +00:00
asfernandes
47f64b0da4 Better constant names: avoid FB, enclosing class (double prefix) or wrong prefixes.
Left some TODOs in FirebirdInterface.idl and utilities/ntrace/TracePluginImpl.cpp related to trace.

(redo with fix for Windows build, and left another TODO comment in FirebirdInterface.idl)
2015-02-18 15:01:17 +00:00
asfernandes
c861f0cd54 Revert my last change after it broke the Windows build. 2015-02-17 23:21:25 +00:00
asfernandes
3c967bbe71 Better constant names: avoid FB, enclosing class (double prefix) or wrong prefixes.
Left some TODOs in FirebirdInterface.idl and utilities/ntrace/TracePluginImpl.cpp related to trace.
2015-02-17 14:56:59 +00:00
alexpeshkoff
f8a9d903e2 Unlink JResultSet from DsqlCursor when cursor is closed due to end of transaction - this fixes AV in tcs/BLOB.0.DSQL 2015-02-17 11:42:50 +00:00
hvlad
79b760b4ac Memory leak (CORE-4683) 2015-02-16 13:57:28 +00:00
asfernandes
9ece682387 Misc. 2015-02-14 18:55:00 +00:00
alexpeshkoff
9a7c7a6c31 Fixed CORE-4685: Accessing DB in invalid manner when links (hard or symbolic) are used for it 2015-02-09 14:08:31 +00:00
dimitr
61ca786437 Cleanup and simplification. 2015-02-04 12:43:01 +00:00
dimitr
d1b4bfc0fc Fixed my yesterday's commit (forgotten part). 2015-01-28 09:01:55 +00:00
dimitr
865f30b7d4 Fixed my yesterday's commit. 2015-01-28 08:15:42 +00:00
dimitr
cc8cc680a3 Core (engine-level) support for scrollable DSQL cursors. Fixed the IResultSet API to match the JDBC spec. Renamed FB_EOF to FB_NO_DATA. Refactored some DSQL internals. 2015-01-27 10:29:30 +00:00
hvlad
43f67462e2 Improvement CORE-4671 : Release internal temporary blobs early to free some memory\disk space 2015-01-26 14:15:54 +00:00
asfernandes
2a857cb415 Misc. 2015-01-15 01:17:27 +00:00
asfernandes
b99311dd1e Make the API usable with different type of IStatus classes, throwing (what class?) or not throwing. Builtin are CheckStatusWrapper (no throw) and ThrowStatusWrapper (throws FbException). 2015-01-12 00:21:38 +00:00
alexpeshkoff
b7621d6f9d Fixed CORE-4651: CREATE DATABASE fails for the user having RDB$ADMIN rights in security database 2014-12-26 14:10:39 +00:00
alexpeshkoff
8b0dde7130 Added forgotten security check - thanks to Adriano 2014-12-22 09:17:31 +00:00
asfernandes
d8a0ff5f4b Generate interfaces with I-prefix. 2014-12-19 15:24:44 +00:00
alexpeshkoff
c14a1210b0 Work in progress on CORE-3632: make all file descriptors, opened by firebird, close on exec() 2014-12-17 14:31:02 +00:00
alexpeshkoff
255b4ff855 Fixed CORE-4571: Can't select from table with ICU column when database (.FDB) is created on LINUX with icu 4.2.1 and then copied to WINDOWS 2014-12-16 14:39:04 +00:00
asfernandes
0463754347 Misc. 2014-10-25 18:39:45 +00:00
alexpeshkoff
1f83c3b1ae Fixed CORE-4582: Within linger period one can not change some database properties 2014-10-16 11:31:48 +00:00
asfernandes
69c4a3e5ae Remove obsolete header file. 2014-10-15 15:43:32 +00:00
asfernandes
c642ddca82 Misc. 2014-10-12 02:25:02 +00:00
hvlad
c3a181148a Fixed bug CORE-4576 : Cache Writer thread could not start 2014-10-10 10:12:23 +00:00
alexpeshkoff
ff3eb6e71e Fixed use of encrypted database for users mapping 2014-10-09 15:25:39 +00:00
dimitr
7ad1fa43a3 Refactored cache shutdown. This should also fix CORE-4568: Server may crash while disconnecting from the database under load. 2014-10-04 20:10:14 +00:00
alexpeshkoff
5ccc32e0ed Better place for trace-related constants, thanks to Vlad 2014-09-30 15:04:14 +00:00
alexpeshkoff
f5645faaa0 Fixed windows build 2014-09-30 14:21:44 +00:00
alexpeshkoff
ba62ee9947 Make it build on windows, work in progress - boot build is working 2014-09-29 17:24:30 +00:00
alexpeshkoff
153de0f271 Language independent API 2014-09-29 11:03:47 +00:00
hvlad
e56788a0e2 Improvement CORE-4562 : Split all validation messages on critical and minor ones 2014-09-28 09:43:57 +00:00
alexpeshkoff
2a293c2691 Implemented CORE-4538: Access rights for CREATE DATABASE operator 2014-09-02 16:55:14 +00:00
dimitr
b742803ebf Refactored the shared cache checks. Optimized the shared counter for SS. 2014-09-01 13:19:53 +00:00
alexpeshkoff
d513daa574 Divide IStatus information into 3 parts: errors, warnings and completion code.
Errors and warnings are processed in IStatus independently. Completion code
is moved away from IStatus and returned directly by appropriate functions.
Replaced isSuccess() with more generic function getStatus(), which sets
appropriate bits in returned value when errors/warnings are present.

Also use same style when returning bytes' array and it's length in different
interfaces.
2014-08-27 09:24:30 +00:00
dimitr
0fa3945f6a Corrections for the prior commit:Explicitly distinguish between thread handle and thread id. Return LWP as thread id on Linux. 2014-08-15 14:59:38 +00:00
dimitr
36af3d8cb2 Cleanup and small refactoring to avoid redundancy. 2014-08-15 14:19:02 +00:00
alexpeshkoff
900fb824fe Fixed CORE-4505: Use of named cursor fails if statement was not executed. Should also fix CORE-4489, but I cannot check. 2014-07-31 11:43:38 +00:00
dimitr
6199136792 Refactored database monitoring, made its handling attachment bound. This should make deadlocks impossible, as well as avoid blocking worker connections while the monitoring request is processed. 2014-07-31 08:56:53 +00:00
alexpeshkoff
532181a7f9 Renamed as suggested by Nickolay and Dmitry 2014-07-28 13:01:10 +00:00
alexpeshkoff
4bdc2a3e19 Replaced macro FB_ALIGN with function fbAlign, minor related cleanup 2014-07-24 06:41:38 +00:00
hvlad
1042e09739 Correction 2014-07-18 12:42:36 +00:00
hvlad
d14c19107d Avoid races (and AV as result) when two attachments starts to use temporary page space simultaneously. 2014-07-18 12:24:30 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
asfernandes
c35228c0ee Misc. 2014-07-05 18:36:54 +00:00
alexpeshkoff
a9721f18e0 Added first parameter IStatus* to a lot of functions in API interfaces 2014-07-02 12:57:12 +00:00
alexpeshkoff
69475936c8 Fixed deadlock privately reported by Dmitry Yemanov 2014-06-23 11:17:25 +00:00
asfernandes
08f3a00cb0 Misc. 2014-06-20 02:28:22 +00:00
alexpeshkoff
34388fdf26 Totally misc - we had too many things called "init" in jrd.cpp 2014-06-19 14:35:56 +00:00
dimitr
153b06b2fd Minor structure changes. 2014-06-13 16:28:22 +00:00
dimitr
bfc9a9c929 Frontported CORE-3305: "BLOB not found" error after creation/altering of the invalid trigger. 2014-06-13 11:28:33 +00:00
hvlad
759bf6a592 Front ported fix for bug CORE-4444 : Engine could hung and block all attachments in out of disk space condition during physical backup 2014-06-10 09:31:35 +00:00
alexpeshkoff
6a2016235a Fixed CORE-4435: After calling release() for attachment to database (instead detach) in embedded mode attachment remains active forever (and some cleanup re. reference counters) 2014-06-10 07:13:34 +00:00
hvlad
6a806677fd Front ported:
1. Improvement CORE-4431 : Reduce contention for allocation table lock while database is in stalled physical backup state
2. Improvement CORE-4432 : Let attachments to not block others when allocation table is read first time
3. On Windows, file can not be deleted while system writes cached data into it, even if file is not open by anyone.
Therefore flush delta file implicitly before closing it.
2014-05-16 12:07:08 +00:00
asfernandes
40b38014e4 Misc. 2014-05-08 23:26:40 +00:00
alexpeshkoff
d83d4d084a Fixed a bug, privately reported by Pavel Zotov - segfault when closing trace 2014-05-06 12:25:35 +00:00
alexpeshkoff
9bd0939f09 Implemented CORE-1377: Add an ability to change role without reconnecting to database 2014-04-30 15:12:12 +00:00
alexpeshkoff
a98e565571 Fixed CORE-4303: Possible races while Service destruction, related code cleanup 2014-04-25 10:59:34 +00:00
dimitr
62405ad22f Fixed ON DISCONNECT triggers I accidentally broke more than a year ago. 2014-04-20 10:09:05 +00:00
asfernandes
913c435667 Misc. 2014-04-19 21:36:55 +00:00
alexpeshkoff
58ec2954c1 Fixed CORE-4394: Cursor not found error when using legacy API 2014-04-18 12:08:17 +00:00
alexpeshkoff
5bfe0dfa97 Fixed some errors in mapping code, reported by Vlad privately, when using serverwide auth plugin 2014-04-15 12:18:28 +00:00
dimitr
7c540ae0db 1) Prevent shutdown/cancellation for system attachments.
2) Fixed incorrect generation of attachment IDs causing a hangup during gfix -mode read_only.
2014-04-14 15:27:27 +00:00
asfernandes
8608223f53 Misc. 2014-04-13 01:42:10 +00:00
alexpeshkoff
82a3a54896 Fixed mapping errors reported by Claudio & Treeve 2014-04-10 16:43:10 +00:00
alexpeshkoff
8b28dd1da9 Implemented improvement CORE-4387: IStatement::execute() and IAttachment::execute() functions should return on error pointer to old transaction interface 2014-04-08 13:45:21 +00:00
hvlad
a0ddc6771a Patch by Alex (re.CORE-3370 and deadlock in user mapping code) 2014-04-08 07:15:46 +00:00
alexpeshkoff
a66ac62755 Resolved first problem, reported by Vlad privately - it was bad idea to try to load cache from database which is not created yet 2014-04-07 09:28:08 +00:00
robocop
c90d9d4547 Misc. 2014-04-05 01:44:32 +00:00
alexpeshkoff
20e846369e Implemented CORE-3370: Resolve additional aspects of multiple security databases from services and cross-database requests POV (mapping names) 2014-04-04 15:57:18 +00:00
robocop
fa2f26b645 A bit less repetitive code. 2014-04-04 07:51:24 +00:00
robocop
29e36dc4f3 The 0th generator becomes unnamed. Only internal requests can access it (zero length names are not allowed from outside). RDB$GENERATORS is no longer a reserved name.System generators cannot be changed by user requests, but can be queried with gen_id(g, 0) if the permissions (ACL) allow that. We don't track dependencies on sys generators, it's not necessary. 2014-04-04 06:39:09 +00:00
robocop
58654b05cf Try to drop as many shadow files as possible. 2014-03-26 19:10:54 +00:00
robocop
66af445e2e Misc. 2014-03-22 20:51:24 +00:00
hvlad
d125f5617a Fixed warning by PVS-Studio
Review is appreciated
2014-02-25 14:18:32 +00:00
alexpeshkoff
26b090c93b Added access to configuration interfaces from IMaster and support for getting configured directories 2014-02-12 11:20:55 +00:00
asfernandes
48ea42f1c0 Misc. 2014-01-19 20:38:16 +00:00
alexpeshkoff
411c3718ca Fixed CORE-4286: "Statement already has a cursor assigned" error when trying to execute another SQL statement using different cursor name. Moved method setCursorName() from IStatement to IResultSet - it was my fault when splitting cursor from statement. 2014-01-17 12:33:23 +00:00
hvlad
5e3c596545 Fixed bug CORE-4309 : 'Cache Writer' record in MON$ATTACHMENTS dissapear when delete other connection that running some 'heavy update' on big table via delete from MON$ATTACHMENTS 2014-01-11 09:10:44 +00:00
robocop
2810026363 Misc and warnings. 2013-12-29 00:35:50 +00:00
asfernandes
2aa3e8dd4d Working in progress on the fix for CORE-4271: unify as possible the handling of procedures and functions. 2013-12-12 14:42:31 +00:00
asfernandes
9c9dd72977 Misc. 2013-11-24 03:21:11 +00:00
alexpeshkoff
4a8fe5a0de Implemented CORE-4273: Per-database control on access to database from remote stations 2013-11-22 15:21:11 +00:00
alexpeshkoff
c2efe1945a Enable linger only in multiuser server mode. This should also fix windows build. 2013-11-21 07:31:30 +00:00
alexpeshkoff
83db69c849 Fixed new gcc 4.7 warning "deleting object of polymorphic class" in many places. Adjusted use of interface types (reference counted vs just vesrioned). Avoided some hacks caused by badly chosen interface type. 2013-11-18 12:20:23 +00:00
dimitr
8033131d18 Fixed possible server crash + minor refactoring. 2013-11-17 14:24:17 +00:00
alexpeshkoff
120b10a78a Implemented CORE-4263: Database linger 2013-11-14 16:16:24 +00:00
dimitr
489480b774 Complementary patch for one of my prior commits (forced rollbacks should go through the TIP). 2013-11-13 15:39:32 +00:00
hvlad
37344e12bf Fixed bug CORE-4260 : Bugcheck 165 (cannot find tip page) happens if engine crashed right after CREATE DATABASE 2013-11-11 14:44:52 +00:00
hvlad
34b99e6f3a Don't force flush for database which creation is not complete. 2013-11-07 10:32:35 +00:00
hvlad
424fb1d75f Avoid hack in create_database when we have FW=ON at header page disk image and FW=OFF in memory structures and in fact database file is created in FW=OFF mode.
Instead of setting flag on header page when it is formatted for the first usage, explicitly set FW=ON after database creation is complete, if there was no isc_dpb_force_write in DPB.
2013-11-07 10:06:36 +00:00
alexpeshkoff
ee748b192d Make code (hopefully) better readable 2013-11-01 14:18:30 +00:00
alexpeshkoff
bd65abc1aa Cleanup 2013-10-31 15:10:26 +00:00
alexpeshkoff
dd73db4494 Fixed CORE-4200: An uncommitted select of the pseudo table sec$users blocks new database connections 2013-10-30 12:11:40 +00:00
hvlad
88a470d22c Fixed two more reasons for CORE-4235 : Deadlock is possible while accessing the monitoring tables under concurrent load. 2013-10-19 08:09:51 +00:00
alexpeshkoff
5a054cca16 Fix found by Jim Starkey man-in-themiddle attack on ATTACH packet.
That packet may contain database name, command line for service and/or some other important and critical information.
To avoid such attack wire encryption is started before attaching database or service manager, right after connect.
Also should fix a number of issues found in Alpha1 regarding services attach.
2013-10-16 12:53:04 +00:00
dimitr
c235774864 Attempted to fix CORE-4235: Deadlock is possible while accessing the monitoring tables under concurrent load.
Refactored the list of reference counted attachments to be useful in other cases.
Some minor adjustments in the monitoring code.
2013-09-22 16:10:06 +00:00
dimitr
3821ec9d41 Implemented CORE-4218 (database owner in MON$DATABASE) and CORE-4222 (auth method in MON$ATTACHMENTS). 2013-09-18 09:37:13 +00:00
alexpeshkoff
7c243418a9 Cleanup - removed unused (always NULL) field tra_sibling from transaction class in engine 2013-09-13 12:21:51 +00:00
dimitr
c9cc5294da Avoid rescheduling if we're kindly asked to stop immediately. 2013-09-04 17:52:13 +00:00
dimitr
c367d1f958 Cleanup and use the explicit rollback via TIP for all kinds of forced disconnections. 2013-09-04 17:46:09 +00:00
dimitr
01b81b1edb Code simplification and some corrections. 2013-08-19 18:50:28 +00:00
alexpeshkoff
1eace34614 CORE-3944 - fixed a bug in my previous commit, noticed by Adriano 2013-08-19 08:17:37 +00:00
alexpeshkoff
a8f8465366 Postfix for CORE-3935 & CORE-3944: helps avoid segfaults/deadlocks when shutting down firebird 2013-08-16 12:44:10 +00:00
asfernandes
b6a4d39596 Misc. 2013-07-06 23:11:13 +00:00
dimitr
9e8bbbdd13 Better protection against AST delivery during detaching. 2013-07-03 13:22:44 +00:00
hvlad
c12e731b6a Fixed bug CORE-4134 : Race condition when auto-sweep is started 2013-06-29 11:32:55 +00:00
hvlad
ffa909f8d9 Fixed bug CORE-4135 : In SS sweep blocks establishment of concurrent attachments.
More details in tracker.
2013-06-29 11:25:07 +00:00
alexpeshkoff
7583535db5 Make dialect 3 default when creating database using OO API. Keep legacy behavior in ISC API. 2013-06-24 12:24:29 +00:00
alexpeshkoff
2a66ddf07f Fixed assertion when restoring DB in non-existtent path with overwrite - reported privately by Dmitry 2013-06-18 09:10:09 +00:00
dimitr
0c6bc6844a Protection against the not supported mode. I used a non-translatable error because it might be a temporary measure, time will show. 2013-06-15 14:12:25 +00:00
robocop
c0b8b68777 Misc. 2013-05-21 21:53:39 +00:00
alexpeshkoff
b9a96911ca Avoid extra atomic operations when assigning pointer to the object with pre-incremented counter (like returned from the function) to reference-counted pointer holder 2013-04-17 11:16:06 +00:00
alexpeshkoff
6f5fedec9a Fixes related with CORE-3993 2013-04-17 08:04:02 +00:00
alexpeshkoff
3746843930 Postfix for CORE-3935 and CORE-3993: avoid opening same database file twice 2013-04-15 16:51:20 +00:00
dimitr
551e2416c6 Add interface support for scrollable DSQL cursors. Implementation will follow later. 2013-04-13 07:11:58 +00:00
asfernandes
e0567463bf Revert external routines to request-based (*) code, but now using a totally different internal approach.
* This is not ideal IMO, but much more easier to currently support stack traces, and domain's defaults and validations.
2013-04-11 15:44:17 +00:00
alexpeshkoff
8780552b94 Added support for changing configuration (client and embedded) from API 2013-04-04 13:17:57 +00:00
dimitr
dbe76bc342 The minimal patch for CORE-1604 (Error at database creation by user with non-ascii name) and CORE-3243 (CURRENT_USER and MON$USER don't work properly) that seems to work for the trusted authentication, but [at least] the legacy auth module has to be reviewed as it seems to deal with the user name "as is", without checking whether it arrived in UTF8 or not. 2013-03-24 16:16:29 +00:00
asfernandes
b9bc308a72 Work in progress fixing external triggers. 2013-03-23 21:12:27 +00:00
alexpeshkoff
afa0770781 1. Fixed broken by me a few time ago server shutdown.
2. Implemented prototype of TLS-based debugging helper holding information about 'What does firebird do now?"
   Currently it's more or less ready for use with JAttachment::release().
2013-03-15 16:37:32 +00:00
asfernandes
0d299d455a Remove FbMessage struct from the API.
This struct lost its main value (group various blr-related properties in a single parameter).
And since openCursor/fetch already split the message/buffer, it does not make sense anymore to have it.
2013-02-26 03:42:19 +00:00
asfernandes
b254fb11c7 Revert change of messages to void* in DSQL internals. 2013-02-24 16:26:00 +00:00
asfernandes
53d4d58113 Change message buffers type to void*. It adds some casts, but avoid them in users' code. 2013-02-23 03:09:17 +00:00
asfernandes
5c436f8d91 Misc. 2013-02-21 23:25:10 +00:00
alexpeshkoff
f1779a7398 Do not prefetch unneeded information in IAttachment::openCursor() 2013-02-19 12:03:07 +00:00
alexpeshkoff
ba9413b26a Add IStatement::getFlags() to help user make a solution what to do with SQL statement 2013-02-19 11:20:49 +00:00
alexpeshkoff
37d353d392 Make openCursor() use default output format when none is given explicitly 2013-02-18 13:53:46 +00:00
asfernandes
ddc4d4eac3 Misc. 2013-02-17 23:06:40 +00:00
alexpeshkoff
fc12495d0e Modified IStatement interface in our API:
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
   therefore avoiding need in BLR generation in client applications.
2013-02-17 12:08:53 +00:00
asfernandes
dc8e42e9bb Migrate external triggers to the new message-based style. 2013-01-29 01:21:32 +00:00
asfernandes
d9275d6567 Misc. 2013-01-07 01:15:24 +00:00
dimitr
e29b50f980 Front ported my yesterday's commits to trunk. 2012-12-23 07:10:56 +00:00
asfernandes
7e1ca71911 Misc. 2012-12-21 01:49:16 +00:00
alexpeshkoff
b3f9759960 Take locks in AST before building tdbb
Fixed assertion in CCH_exclusive_attachment 
Rolled back my changes required to let cancelOperation() enter engine after shutdown
Better locks' history in SyncObject
2012-12-18 13:54:18 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
dimitr
4ff4290f11 Front-ported bugfixes related to CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. 2012-12-03 11:21:00 +00:00
dimitr
a85629a9de Fixed CORE-3977: DELETE FROM MON$STATEMENTS does not interrupt a longish fetch. 2012-11-11 15:33:18 +00:00
dimitr
657511babe Wiped out the legacy attachment level counters in favor of the already existing runtime statistics. Introduced a record lock counter (more to follow). 2012-11-01 00:16:55 +00:00
dimitr
9f2a992078 Implemented:
CORE-2780: Include client library version and protocol version in mon$attachments
CORE-2187: Return the Hostname in mon$attachments
CORE-3779: Report OS user name in MON$ATTACHMENTS
+ some cleanup.
2012-09-12 07:45:51 +00:00
dimitr
5f917a04ce Minor cleanup and simplification. 2012-08-28 18:19:09 +00:00
alexpeshkoff
0fc893a4e1 Better names for API functions 2012-06-26 13:43:26 +00:00
dimitr
42a4c93b97 1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related  refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
asfernandes
07557dc297 Misc. 2012-05-26 18:05:56 +00:00
robocop
642d506cd9 Change txn numbers to unsigned and commit after Vlad's review. If the compile-time checks (to ensure enough room for the new txn type) are too ugly, they may be deleted. 2012-05-19 12:04:37 +00:00
hvlad
d78703c9ae Improvement CORE-3539 : TRACE: add ability for logging ERRORs that occur in runtime (lock conflicts, PK/UK/FK violations et al) 2012-05-15 07:56:24 +00:00
hvlad
02adff3b63 Improvement CORE-3598 : TRACE: add statistics of actions that were after transaction finished 2012-05-12 09:48:32 +00:00
asfernandes
580172419b Misc. 2012-04-23 00:48:28 +00:00
hvlad
536c08cc01 Fixed bug CORE-3825 : If an autocommit transaction (i.e. transaction started with isc_tpb_autocommit option) run DDL using EXECUTE STATEMENT it will produce a bugcheck 287 (Too many savepoints) 2012-04-20 20:03:15 +00:00
hvlad
96a7fa2576 Front ported fix for bug CORE-3812 : Connection lost to database during massive dropping and altering primary keys of tables 2012-04-12 13:03:25 +00:00
robocop
70d5ebdfdf - Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
alexpeshkoff
1ceb4847e1 Make plugins use passed instance of master interface, not one got from fb_get_master_interface(). This helps in case when >1 fbclient libraries is loaded by process. 2012-03-26 11:34:52 +00:00
alexpeshkoff
2f7c526728 Implemented CORE-3788: Make all utilities follow same rules when expanding database name 2012-03-14 08:46:27 +00:00
hvlad
52f3ed895e Fixed Windows build 2012-03-01 18:18:46 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
alexpeshkoff
12cf01d608 Cleanup unneeded parameter (was used in nbackup, where PIO is replaced with OS function calls) 2012-02-28 11:08:30 +00:00
asfernandes
435666cea5 Misc. 2012-02-26 14:27:27 +00:00