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

193 Commits

Author SHA1 Message Date
hvlad
835c78cb35 Correction for recent patch for CORE-5422.
I was a bit wrong - DPM_fetch should not change rpb_prior
2017-01-06 16:22:09 +02:00
hvlad
10c6a14a04 Fixed bug CORE-5422 : Decompression overran buffer after rollback 2017-01-06 11:22:16 +02:00
Adriano dos Santos Fernandes
5fb4a9c6f3 Misc. 2016-12-11 20:53:27 -02:00
Dmitry Yemanov
fedcbbb534 Attempt to fix CORE-5392: BUCHECK 179(decompression overran buffer) or unexpected lock conflict may happen during record version backout. 2016-12-05 14:50:21 +03:00
hvlad
dac882c97e Introduced small per-relation cache of physical numbers of data pages.
It allows to reduce number of pointer page fetches and improves performance.
2016-11-22 13:21:51 +02:00
hvlad
de2c7a4ca3 Fixed bug CORE-5327 : internal Firebird consistency check (cannot find tip page (165), file: tra.cpp line: 2307) 2016-08-11 20:42:56 +03:00
Dmitry Yemanov
f2d0b64ba2 Misc adjustments after CORE-5232 and more encapsulation for the Lock
class.
2016-05-10 10:44:30 +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
asfernandes
9f8062b7d1 Misc. 2015-11-19 01:12:04 +00:00
dimitr
212faade87 Simplified the locking logic and fixed races during record backout. 2015-11-02 11:46:43 +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
hvlad
f7e248ca63 Improvement CORE-4935 : Increase performance of backout of dead record version (or undo of just created primary record version) when backversions chain is too long
Improvement CORE-4936 : Reduce internal contention in background garbage collector
Other small improvements: 
- garbage collector\sweep now skip record header if transaction is below OIT - it allows to reduce number of page fetches
- missed points to gather RECORD_FRAGMENT_READS and RECORD_BACKVERSION_READS statistics
2015-09-16 21:16:13 +00:00
asfernandes
e3946cf189 Misc. 2015-09-06 18:52:59 +00:00
dimitr
6f7185ec14 Core support for 32KB page size. Disabled so far. 2015-09-01 07:33:36 +00:00
hvlad
48645308b9 Correction 2015-07-15 11:10:22 +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
robocop
939feab036 Misc. 2015-03-13 15:26:22 +00:00
alexpeshkoff
7fed9ff78c cleanup 2015-03-05 16:18:46 +00:00
hvlad
39a137e913 Use attachment's or relation's pool instead of dbb_permanent where it is more suitable.
It fixed memory leak from dbb_permanent (CORE-4683)
2015-02-22 11:02:49 +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
dimitr
29e238f78d Type correctness (mostly signed->unsigned adjustments). 2014-12-29 21:15:54 +00:00
dimitr
bd3ce4e6fb This commit is expected to fix CORE-4384: Problems when a table grows beyond 65535 pointer pages. Testing would be appreciated. 2014-12-29 17:40:47 +00:00
asfernandes
cebc7c36b3 Misc. 2014-11-30 21:09:39 +00:00
hvlad
f5e1502b63 Small optimization by Dimitry Sibiryakov:
set ppg_min_space to the next really non-full slot when current ppg_min_space slot is marked as full.
2014-11-21 12:23:19 +00:00
asfernandes
8b76cfcff8 Misc. 2014-10-12 19:33:09 +00:00
asfernandes
c642ddca82 Misc. 2014-10-12 02:25:02 +00:00
skidder
0030f9adeb Fix warnings 2014-09-22 19:25:40 +00:00
hvlad
8ba9d33798 Implement improvement CORE-4556 : Allocate data pages in group of sequential ordered pages (extents)
Validation code will follow
2014-09-18 22:31:53 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
dimitr
153b06b2fd Minor structure changes. 2014-06-13 16:28:22 +00:00
asfernandes
bb735cb5a2 Misc. 2014-05-23 02:12:56 +00:00
hvlad
714c151a2d Front ported fix for bug CORE-4372 : Deadlock is possible when two data pages contains record fragments pointing to each other 2014-05-16 10:53:28 +00:00
robocop
4aeb269291 Use enumerations where possible (1). 2014-04-04 18:36:35 +00:00
robocop
9683418a7c Shortcut. 2014-03-26 19:11:32 +00:00
robocop
ae8f6d6b8f Misc. 2014-03-03 04:37:29 +00:00
robocop
b873d352fd Make DPM_fetch_back return bool. 2014-02-25 06:31:39 +00:00
robocop
3460f121f6 Misc. 2013-05-21 21:47:23 +00:00
dimitr
941029af90 Correction as per Claudio's request. 2013-05-03 13:29:21 +00:00
dimitr
d0e20d5f8c Pass the pool explicitly, it saves us one TLS access per record. 2013-04-06 09:12:14 +00:00
asfernandes
26ab241631 Misc. 2013-03-30 02:31:03 +00:00
hvlad
a418373026 Optimization: delay clearing of page_full flag until page have at least 25% of free space. It saves few costly mark_full() calls when space is actively allocated and reclaimed in highly concurrent environment and reduces PP contention. 2013-03-21 08:23:39 +00:00
dimitr
680d1b4e34 Fixed CORE-4036: Bugcheck or database corruption when attempting to store long incompressible data into a table. 2013-03-17 14:39:09 +00:00
asfernandes
50475858e2 Misc. 2013-03-10 15:39:13 +00:00
hvlad
50c4099b92 Make tracing VIO works and more easy to use:
- log into file instead of console
- rebuild only small set of affected modules when VIO_DEBUG is changed
2013-03-10 14:48:17 +00:00
hvlad
0e766ce3d5 Fixed bug CORE-4002 : Error message "index unexpectedly deleted" in database trigger on commit transaction 2012-11-30 08:01:34 +00:00
hvlad
b6c6915693 Fixed bug CORE-3855 : Blobs, inserted into GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS, could be placed into newly allocated pages even if there is enough free place on some existing data page 2012-05-26 22:01:30 +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
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
hvlad
e67ae1a372 Undo patch for CORE-3468 2012-03-21 14:45:44 +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