diff options
author | Robert Haas <rhaas@postgresql.org> | 2023-03-28 16:16:53 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2023-03-28 16:21:29 -0400 |
commit | e3363cda9cb615718be14e2780fa4c82f3d270de (patch) | |
tree | 5975f692f6bb6c3f4afd2a36900514d95abad6ec | |
parent | c6f1f4e443fb8f8843c33727ea19bb677aec8074 (diff) | |
download | postgresql-e3363cda9cb615718be14e2780fa4c82f3d270de.tar.gz postgresql-e3363cda9cb615718be14e2780fa4c82f3d270de.zip |
amcheck: In verify_heapam, allows tuples with xmin 0.
Commit e88754a1965c0f40a723e6e46d670cacda9e19bd caused that case
to be reported as corruption, but Peter Geoghegan pointed out that
it can legitimately happen in the case of a speculative insertion
that aborts, so we'd better not flag it as corruption after all.
Back-patch to v14, like the commit that introduced the issue.
Discussion: http://postgr.es/m/CAH2-WzmEabzcPTxSY-NXKH6Qt3FkAPYHGQSe2PtvGgj17ZQkCw@mail.gmail.com
-rw-r--r-- | contrib/amcheck/verify_heapam.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/contrib/amcheck/verify_heapam.c b/contrib/amcheck/verify_heapam.c index 69230f76499..747b08672f0 100644 --- a/contrib/amcheck/verify_heapam.c +++ b/contrib/amcheck/verify_heapam.c @@ -774,8 +774,7 @@ check_tuple_visibility(HeapCheckContext *ctx) switch (get_xid_status(xmin, ctx, &xmin_status)) { case XID_INVALID: - report_corruption(ctx, - pstrdup("xmin is invalid")); + /* Could be the result of a speculative insertion that aborted. */ return false; case XID_BOUNDS_OK: break; |