mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Report tuple address in data-corruption error message
Most data-corruption reports mention the location of the problem, but this one failed to. Add it. Backpatch all the way back. In 12 and older, also assign the ERRCODE_DATA_CORRUPTED error code as was done in commit fd6ec93bf890 for 13 and later. Discussion: https://postgr.es/m/202108191637.oqyzrdtnheir@alvherre.pgsql
This commit is contained in:
parent
16cad4be32
commit
02797ffa9a
@ -2621,7 +2621,13 @@ EvalPlanQualFetch(EState *estate, Relation relation, int lockmode,
|
||||
|
||||
/* otherwise xmin should not be dirty... */
|
||||
if (TransactionIdIsValid(SnapshotDirty.xmin))
|
||||
elog(ERROR, "t_xmin is uncommitted in tuple to be updated");
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_DATA_CORRUPTED),
|
||||
errmsg_internal("t_xmin %u is uncommitted in tuple (%u,%u) to be updated in table \"%s\"",
|
||||
SnapshotDirty.xmin,
|
||||
ItemPointerGetBlockNumber(&tuple.t_self),
|
||||
ItemPointerGetOffsetNumber(&tuple.t_self),
|
||||
RelationGetRelationName(relation))));
|
||||
|
||||
/*
|
||||
* If tuple is being updated by other transaction then we have to
|
||||
|
Loading…
x
Reference in New Issue
Block a user