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
asfernandes
d8a0ff5f4b
Generate interfaces with I-prefix.
2014-12-19 15:24:44 +00:00
alexpeshkoff
153de0f271
Language independent API
2014-09-29 11:03:47 +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
alexpeshkoff
2513cbf1c1
Clear handle in JBlob when blob is destroyed
2014-08-15 13:08:25 +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
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
alexpeshkoff
a98e565571
Fixed CORE-4303: Possible races while Service destruction, related code cleanup
2014-04-25 10:59:34 +00:00
alexpeshkoff
58ec2954c1
Fixed CORE-4394: Cursor not found error when using legacy API
2014-04-18 12:08:17 +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
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
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
robocop
2810026363
Misc and warnings.
2013-12-29 00:35:50 +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
alexpeshkoff
120b10a78a
Implemented CORE-4263: Database linger
2013-11-14 16:16:24 +00:00
asfernandes
a66366bc82
Misc.
2013-08-18 18:53:41 +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
alexpeshkoff
9f3a3be189
Fixed segfault when releasing IMessageMetadata, reported by Dmitry privately. It was bad idea to return to the user interface created by plugin.
2013-07-19 13:51:54 +00:00
dimitr
551e2416c6
Add interface support for scrollable DSQL cursors. Implementation will follow later.
2013-04-13 07:11:58 +00:00
alexpeshkoff
8780552b94
Added support for changing configuration (client and embedded) from API
2013-04-04 13:17:57 +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
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
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
c34aaed964
Cleanup - thanks to Adriano
2013-02-18 07:54:25 +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
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
alexpeshkoff
0fc893a4e1
Better names for API functions
2012-06-26 13:43:26 +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
27bb1f8bc1
1) Removed READ/WRITE BLOB sql commands. 2) Refactored request operations to fix server crashes.
2012-02-03 19:01:36 +00:00
hvlad
dc4abc05e4
Protect system attachments list with dedicated sync object. It prevents deadlocks with common sync object on process shutdown.
2011-10-02 10:19:06 +00:00
robocop
5ad96271e6
Misc.
2011-06-24 06:34:16 +00:00
hvlad
81cec16f83
Fixed leak of SysAttachment instance. Noted by Claudio.
2011-06-13 11:09:19 +00:00
asfernandes
5ffa6c77c8
Move v3 public include files to src/include/firebird.
2011-06-02 15:57:08 +00:00
asfernandes
2c9dd7e1ff
Misc.
2011-05-28 02:05:45 +00:00
hvlad
99c9c8e2db
Enabled background threads (garbage collector and cache writer).
...
Introduced special kind of system attachments used in this threads and show its activity in monitoring.
2011-05-27 07:57:16 +00:00
alexpeshkoff
4641d2de68
Better interfaces hierarchy: all of them are derived from IVersioned
2011-05-19 16:24:46 +00:00
alexpeshkoff
85b3b5cf95
Interface for 2PC (distributed transactions coordinator)
2011-05-19 11:38:38 +00:00
asfernandes
2fd18f68c9
Lets try to avoid global functions using name with mixed new (functionName) and old SUBSYS_name name style.
2011-05-11 17:42:44 +00:00
asfernandes
69dc52ba48
Integrate IAttachment and ITransaction in the external engines API.
2011-05-07 19:52:44 +00:00
asfernandes
9754526943
Misc; reinterpret to static casts; correction in YRequest version.
2011-04-26 01:00:33 +00:00
alexpeshkoff
256cb1e853
1. Use reference counted stable in global pool objects instead PublicHandle's validation.
...
2. Avoid massive segfaults when closing heavily loaded server.
3. Restored logic in YValve required for correct shutdown.
4. Do not change externally visible request body when preparing it.
2011-04-25 17:47:56 +00:00