mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Revert bogus fixes of HOT-freezing bug
It turns out we misdiagnosed what the real problem was. Revert the previous changes, because they may have worse consequences going forward. A better fix is forthcoming. The simplistic test case is kept, though disabled. Discussion: https://postgr.es/m/20171102112019.33wb7g5wp4zpjelu@alap3.anarazel.de
This commit is contained in:
@ -2595,7 +2595,8 @@ EvalPlanQualFetch(EState *estate, Relation relation, int lockmode,
|
||||
* atomic, and Xmin never changes in an existing tuple, except to
|
||||
* invalid or frozen, and neither of those can match priorXmax.)
|
||||
*/
|
||||
if (!HeapTupleUpdateXmaxMatchesXmin(priorXmax, tuple.t_data))
|
||||
if (!TransactionIdEquals(HeapTupleHeaderGetXmin(tuple.t_data),
|
||||
priorXmax))
|
||||
{
|
||||
ReleaseBuffer(buffer);
|
||||
return NULL;
|
||||
@ -2742,7 +2743,8 @@ EvalPlanQualFetch(EState *estate, Relation relation, int lockmode,
|
||||
/*
|
||||
* As above, if xmin isn't what we're expecting, do nothing.
|
||||
*/
|
||||
if (!HeapTupleUpdateXmaxMatchesXmin(priorXmax, tuple.t_data))
|
||||
if (!TransactionIdEquals(HeapTupleHeaderGetXmin(tuple.t_data),
|
||||
priorXmax))
|
||||
{
|
||||
ReleaseBuffer(buffer);
|
||||
return NULL;
|
||||
|
Reference in New Issue
Block a user