Issue Details (XML | Word | Printable)

Key: CORE-4562
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Vlad Khorsun
Votes: 0
Watchers: 1

If you were logged in you would be able to see more operations.
Firebird Core

Split all validation messages on critical and minor ones

Created: 28/Sep/14 09:42 AM   Updated: 18/Jan/16 03:27 PM
Component/s: Engine, GFIX
Affects Version/s: None
Fix Version/s: 3.0 Beta 1

QA Status: No test

 Description  « Hide
Some errors reported by database validation (such as orphan pages and few another ones) is not critical for database, i.e. not affects query results and\or logical consistency of user data.
Such defects should not be counted as errors to not scary users.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Vlad Khorsun added a comment - 28/Sep/14 09:48 AM
Database validation code was refactored and improved a bit:

- all found defects are now split on two categories - errors and warnings.
Warning is a non-critical defect which can not affect database correctness while minor issues are possible (some performance degradation or wasted space).
Orphan pages, orphan record versions and minor defects on index pages are now considered as warnings and not reported as errors anymore.

- gfix reports numbers of errors found and number of warnings separately.

- Correctness of internal counters on PIP page now validated.
If inconsistency found it is reported as warning and fixed (if no_update switch is not specified).

- It is checked now if bits on Pointer Page is in consistency with corresponding Data Page state.
If inconsistency found it is reported as warning and fixed (if no_update switch is not specified).

Ann Harrison added a comment - 28/Sep/14 08:01 PM
Thank you! - should have been done decades ago. I'll give you special credit in my talk.

Vlad Khorsun added a comment - 01/Oct/14 10:05 PM - edited
More changes:

- validation now put records about its start and finish into firebird.log
- separate numbers of found errors and warnings and number of fixed defects are reported within "validation finished" message
- every validation message now have prefix "Error:" or "Warning:"

Vlad Khorsun added a comment - 01/Oct/14 10:07 PM

glad you liked it :)