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

436 Commits

Author SHA1 Message Date
Dmitry Yemanov
46a7d66246 Change the savepoint start function, as suggested by Dimitry Sibiryakov. 2016-05-15 18:51:55 +03:00
Dmitry Yemanov
522f4c09bd Switch to 64-bit savepoint numbers as a straightforward solution for
CORE-5228 (Restore may hang if the database contains more than 4 billion
records).
2016-05-06 23:18:36 +03:00
Dmitry Yemanov
174c252e0c Major refactoring of savepoints. Beware of possible regressions. 2016-05-06 20:16:14 +03:00
Dmitry Yemanov
5df083273b Correction, as per Sean's comment. 2016-04-28 22:06:40 +03:00
Dmitry Yemanov
1d2eed6f24 CORE-5216: Provide location context (line/column numbers) for runtime
errors raised inside EXECUTE BLOCK.
2016-04-28 15:38:15 +03:00
hvlad
9ae426a757 Please MSVC14:
-add space before XXXFORMAT macros to not confuse it with user-defined literals

-use existing snprintf

This should fix part of the issues at CORE-5099 and CORE-5120
2016-03-17 12:33:26 +02:00
aafemt
27395a0831 Savepoints refactoring that fixes CORE-4701, CORE-4424 and CORE-4483 2016-03-02 15:33:16 +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
dimitr
6c4898dd76 Fixed the assertion inside the looper (req_caller was not cleared for procedure requests terminated due to exception). 2015-11-02 11:48:59 +00:00
dimitr
bbcc9654c3 Generic solution for CORE-4982: Server crashes during "select from procedure" if exception is thrown while backing out the current savepoint. 2015-10-29 11:18:56 +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
dimitr
2a1d6e246a Use simpler solution for CORE-4928. Let's not open new gates for direct table modifications. 2015-10-06 10:58:56 +00:00
asfernandes
10d3c38b68 Fixed CORE-4928 - It is not possible to save the connection information in the ON CONNECT trigger, if the connection is created by the gbak. 2015-09-10 17:06:47 +00:00
alexpeshkoff
219077f0b4 Fixed CORE-4861: Segfault when working with saved exception in request 2015-07-05 11:40:22 +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
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
dimitr
4fd0614875 Misc code simplification. 2015-02-19 19:52:28 +00:00
dimitr
6ae3e2cbaf 1) Fixed CORE-4383: Index and BLOBs garbage collection doesn't work for update_in_place().
2) Applied the same approach to temporary GC records.
3) Refactored the Record class to avoid reallocations, to improve encapsulation and to simplify the code.
4) Slightly refactored UndoItem to isolate its logic from the Record class.
5) Reduced the in-memory size of the undo log.
6) Slightly better alternative to the legacy NULL reporting for outer joins.
7) Minor fixes and adjustments in BufferedStream.
2015-02-19 14:15:00 +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
dimitr
c8d6349c77 Replace a verb-cleanup bugcheck with regular error + transaction invalidation. 2015-02-03 16:31:05 +00:00
asfernandes
0463754347 Misc. 2014-10-25 18:39:45 +00:00
alexpeshkoff
5ccc32e0ed Better place for trace-related constants, thanks to Vlad 2014-09-30 15:04:14 +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
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
asfernandes
66ed15f026 Warnings. 2014-02-16 21:52:14 +00:00
dimitr
462cd99636 Fixed some refactoring errors of mine. This should cure CORE-4334: Resources (e.g. sort files) owned by trigger may not be released when it's interrupted asynchronously. 2014-02-05 17:59:39 +00:00
asfernandes
dc99961e8b Misc. 2013-10-13 23:44:57 +00:00
dimitr
e5d1202048 Somewhat hackery fix for CORE-4201: Computed field returns null value inside BI trigger.
A better solution requires major changes and will be investigated in trunk later.
2013-09-20 08:28:41 +00:00
hvlad
8ee66e0bb0 Fixed bug CORE-4216 : Memory leak with TRIGGER ON TRANSACTION COMMIT 2013-09-16 09:17:56 +00:00
dimitr
cb1975f13c Attempted to fix a possible crash due to the wrong request pointer remaining in tdbb after sub-request execution. While being there, cleaned up some redundant code. 2013-06-19 06:26:57 +00:00
asfernandes
fc16bb34e4 Fixed crash when calling unimplemented packaged procedures. 2013-05-13 01:48:57 +00:00
asfernandes
5e53549702 Misc. 2013-04-11 16:09:46 +00:00
asfernandes
93924e08f5 Cleanup. 2013-04-11 16:04:25 +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
a2dd7e211f Ugly fix for CORE-4066, but looks like here g++ is too strong in type correctness. 2013-03-18 10:50:37 +00:00
dimitr
15e4367810 Small refactoring. 2013-03-17 17:35:53 +00:00
asfernandes
d8a9ec4392 Cleanup. 2013-03-10 20:38:44 +00:00
asfernandes
48fd751c6e Fixing FB_MESSAGE macro and external functions and procedures.
Isolate external routines them from request-based ones.
2013-03-04 01:42:58 +00:00
alexpeshkoff
97b4b8c2c2 Postfix for CORE-3908: Engine leaks memory and crashes when lot of autonomous transactions have been started and finished 2013-02-28 16:23:56 +00:00
dimitr
75afc9a89c Misc. 2013-01-25 12:34:54 +00:00
dimitr
e29b50f980 Front ported my yesterday's commits to trunk. 2012-12-23 07:10:56 +00:00
dimitr
cbe0f3cc54 Front ported to trunk. 2012-12-21 10:11:00 +00:00
dimitr
1a4c0c5808 1) Encapsulated the remaining external looper calls inside a SEH block. It allows to catch async exceptions coming while result set is being fetched. No performance penalty has been noticed.
2) Slightly refactored the looper call chain to avoid code duplication.
3) Fixed CORE-4010: Fetch cannot be subsequently interrupted via DELETE FROM MON$STATEMENTS.
2012-12-13 18:31:42 +00:00
dimitr
3971e49b30 Another bunch of changes for CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. The looper nodes should never ignore req_unwind and transform it to something else.
Review and testing would be appreciated, especially in regard to EXE_assignment.
2012-12-06 12:09:11 +00:00
alexpeshkoff
4ca6e669fe 1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00