mirror of
https://github.com/postgres/postgres.git
synced 2025-12-13 14:22:43 +03:00
Simplify vacuum visibility assertion
Phase I vacuum gives the page a once-over after pruning and freezing to check that the values of all_visible and all_frozen agree with the result of heap_page_is_all_visible(). This is meant to keep the logic in phase I for determining visibility in sync with the logic in phase III. Rewrite the assertion to avoid an Assert(false). Suggested by Andres Freund. Author: Melanie Plageman <melanieplageman@gmail.com> Discussion: https://postgr.es/m/mhf4vkmh3j57zx7vuxp4jagtdzwhu3573pgfpmnjwqa6i6yj5y%40sy4ymcdtdklo
This commit is contained in:
@@ -2042,10 +2042,9 @@ lazy_scan_prune(LVRelState *vacrel,
|
||||
|
||||
Assert(presult.lpdead_items == 0);
|
||||
|
||||
if (!heap_page_is_all_visible(vacrel->rel, buf,
|
||||
Assert(heap_page_is_all_visible(vacrel->rel, buf,
|
||||
vacrel->cutoffs.OldestXmin, &debug_all_frozen,
|
||||
&debug_cutoff, &vacrel->offnum))
|
||||
Assert(false);
|
||||
&debug_cutoff, &vacrel->offnum));
|
||||
|
||||
Assert(presult.all_frozen == debug_all_frozen);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user