mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Fix a confusing amcheck corruption message.
Don't complain about the last TOAST chunk number being different from what we expected if there are no TOAST chunks at all. In such a case, saying that the final chunk number is 0 is not really accurate, and the fact the value is missing from the TOAST table is reported separately anyway. Mark Dilger Discussion: http://postgr.es/m/AA5506CE-7D2A-42E4-A51D-358635E3722D@enterprisedb.com
This commit is contained in:
@ -1100,14 +1100,14 @@ check_tuple_attribute(HeapCheckContext *ctx)
|
||||
check_toast_tuple(toasttup, ctx);
|
||||
ctx->chunkno++;
|
||||
}
|
||||
if (ctx->chunkno != (ctx->endchunk + 1))
|
||||
report_corruption(ctx,
|
||||
psprintf("final toast chunk number %u differs from expected value %u",
|
||||
ctx->chunkno, (ctx->endchunk + 1)));
|
||||
if (!found_toasttup)
|
||||
report_corruption(ctx,
|
||||
psprintf("toasted value for attribute %u missing from toast table",
|
||||
ctx->attnum));
|
||||
else if (ctx->chunkno != (ctx->endchunk + 1))
|
||||
report_corruption(ctx,
|
||||
psprintf("final toast chunk number %u differs from expected value %u",
|
||||
ctx->chunkno, (ctx->endchunk + 1)));
|
||||
systable_endscan_ordered(toastscan);
|
||||
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user