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

119 Commits

Author SHA1 Message Date
hvlad
1abb10f36d 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 23:55:20 +02:00
hvlad
714e6c2eaf Remove LCK_idx_reserve introduced with 64-bit transaction ID.
Restore original logic in BTR_next_index (wait for tx lock when index build is in progress). 
Use irt_repeat::irt_root to store high 32 bit of tra_num. 
It also fixed deadlock related with LCK_idx_reserve lock (reported privately).
2016-01-27 11:11:38 +00:00
asfernandes
35dc963ebd Misc. 2015-12-06 22:49:24 +00:00
roman-simakov
ce8d458e46 Fixed CORE-4978: Improved validation and fix of lost data pages. Thanks to Vlad for help. 2015-11-26 09:28:31 +00:00
robocop
a59f9653e1 I prefer explicit conversions instead of guessing what the compiler did. 2015-10-23 05:27:49 +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
dd0a2ddd4d More checks for b-tree page overflow during inset of new node.
Special care is taken to generate split point so that both new pages do not exceed the page_size.
Handle case when index key is added and split is propagated up to top-level page and former top-level page is a split by concurrent thread meanwhile.
Bugcheck when b-tree level become greater than MAX_LEVEL (16 currently) is replaced by isc_imp_exc error.
Validation code (aka gfix) now check correctness of level assigned to b-tree page (all pages at level should have same value and value should be decremented by one at each level down).
It should fix bug CORE-4914 and related issues.
2015-09-29 10:04:48 +00:00
asfernandes
6cc8feaf64 Misc. 2015-08-16 13:53:57 +00:00
hvlad
a59b64d610 Fixed bug CORE-4904 : Index corruption when add data in long-key-indexed field 2015-08-09 20:57:19 +00:00
hvlad
c55381f9cd Change validation code to avoid recursive latches (as it is not supported in fb3 cch). 2015-07-26 19:56:40 +00:00
hvlad
2324f10e76 Fixed bug CORE-4865 : Online validation could wrongly report double allocated pages 2015-07-08 09:56:04 +00:00
hvlad
0333c9c2bb Fixed bug CORE-4855 : Online validation during DML activity in other connection leads to message "Error while trying to read from file" and "page in use during flush (210), file: cch.cpp line: 2672" 2015-07-05 22:03:09 +00:00
hvlad
22d149c786 Fixed bug CORE-4860 : Online validation fails on WINDOWS if dbname argument contains forward slash ('/') and concurrent attachment which also uses '/' exists. 2015-07-05 10:36:09 +00:00
asfernandes
ae30b29011 Misc. 2015-06-29 01:02:52 +00:00
alexpeshkoff
5c6309ecd3 Fixed gcc build 2015-06-19 13:55:27 +00:00
hvlad
2e78b5a7e0 Feature CORE-4707 : Implement ability to validate tables and indices online 2015-06-19 12:07:41 +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
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
asfernandes
0463754347 Misc. 2014-10-25 18:39:45 +00:00
asfernandes
c642ddca82 Misc. 2014-10-12 02:25:02 +00:00
hvlad
ba11fb659b Improvement CORE-4562 : Split all validation messages on critical and minor ones
Additional patch, see details in tracker
2014-10-01 22:00:35 +00:00
hvlad
e56788a0e2 Improvement CORE-4562 : Split all validation messages on critical and minor ones 2014-09-28 09:43:57 +00:00
dimitr
36af3d8cb2 Cleanup and small refactoring to avoid redundancy. 2014-08-15 14:19:02 +00:00
skidder
e2e901939c Fix GCC warnings 2014-07-17 21:17:15 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
hvlad
2167ea13e9 Correct format specifiers 2014-05-16 12:59:48 +00:00
robocop
66af445e2e Misc. 2014-03-22 20:51:24 +00:00
roman-simakov
77d654c2d2 Misc 2014-03-12 17:13:05 +00:00
roman-simakov
070c85aadd Corrected gfix messages to avoid user's panic. Reviewed by Vlad. 2014-03-12 15:51:12 +00:00
hvlad
54a33e39f7 One more typo in validation messages 2013-12-29 15:55:09 +00:00
hvlad
b09e438e9d Fixed typo's in few validation messages 2013-10-02 08:19:40 +00:00
dimitr
8586171695 Core support for records longer than 64KB. Not exposed to the external world yet. 2013-08-21 07:40:31 +00:00
dimitr
bd1f732e7c Attempted to fix unexpectedly big (> 2^32) page numbers in the validation output + some related adjustments. 2013-08-14 09:27:24 +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
hvlad
ca6f6e7324 Fixed bug CORE-3916 : gfix & "Index x is corrupt (missing entries) in table ..." all indexes on large tables 2012-09-05 19:32:34 +00:00
alexpeshkoff
64a89b73a0 Improvement CORE-3588: More detail in message "wrong page type" 2012-06-28 11:46:21 +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
a6a8f05dd5 Fixed bug CORE-3844 : Validation not detects one specific case of index corruption 2012-05-11 19:38:36 +00:00
dimitr
05c27aa212 Integrated the jumping information natively into the index bucket.
WARNING: This is an ODS change, databases must be recreated.
2012-03-14 14:33:41 +00:00
dimitr
4dffb2c624 Made the jump nodes unconditional. To be continued. 2012-03-13 10:31:28 +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
robocop
843ebacf0a Include a new type of validation error: unknown blob type. 2012-02-15 03:44:17 +00:00
asfernandes
8963f176e7 Misc. 2012-02-11 14:34:13 +00:00
robocop
49bf3a476d const 2012-02-07 03:33:32 +00:00
robocop
186c817caa Playing with fire: converting some static functions into member functions. I tried to check every change I did. 2012-02-07 03:17:52 +00:00
dimitr
104814f721 Slightly refactored the b-tree nodes. This commit includes cleaning up ods.h from the runtime (in memory) structures and encapsulating the b-tree nodes implementation inside their corresponding objects. To be continued. 2012-01-26 07:01:45 +00:00
asfernandes
3ce54d2eda Misc. 2011-05-11 01:18:28 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00