pgsql: Eliminate xmin from hash tag for predicate locks on heap tuples. - Mailing list pgsql-committers

From Kevin Grittner
Subject pgsql: Eliminate xmin from hash tag for predicate locks on heap tuples.
Date
Msg-id E1VTGVC-0003dl-6M@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Eliminate xmin from hash tag for predicate locks on heap tuples.

If a tuple was frozen while its predicate locks mattered,
read-write dependencies could be missed, resulting in failure to
detect conflicts which could lead to anomalies in committed
serializable transactions.

This field was added to the tag when we still thought that it was
necessary to carry locks forward to a new version of an updated
row.  That was later proven to be unnecessary, which allowed
simplification of the code, but elimination of xmin from the tag
was missed at the time.

Per report and analysis by Heikki Linnakangas.
Backpatch to 9.1.

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/1f4cdf20e62b8371cce6f1cb326b4470ef94d26a

Modified Files
--------------
src/backend/storage/lmgr/predicate.c      |   14 +++++---------
src/include/storage/predicate_internals.h |   29 +++++++++--------------------
2 files changed, 14 insertions(+), 29 deletions(-)


pgsql-committers by date:

Previous
From: Kevin Grittner
Date:
Subject: pgsql: Eliminate xmin from hash tag for predicate locks on heap tuples.
Next
From: Kevin Grittner
Date:
Subject: pgsql: Eliminate xmin from hash tag for predicate locks on heap tuples.