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

933 Commits

Author SHA1 Message Date
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