pgsql: The row-version chaining in Serializable Snapshot Isolation was - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: The row-version chaining in Serializable Snapshot Isolation was
Date
Msg-id E1QR6Yq-0002Mf-De@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
The row-version chaining in Serializable Snapshot Isolation was still wrong.
On further analysis, it turns out that it is not needed to duplicate predicate
locks to the new row version at update, the lock on the version that the
transaction saw as visible is enough. However, there was a different bug in
the code that checks for dangerous structures when a new rw-conflict happens.
Fix that bug, and remove all the row-version chaining related code.

Kevin Grittner & Dan Ports, with some comment editorialization by me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/3103f9a77d005f9d8b8ef492298bbbbf6c4b843f

Modified Files
--------------
src/backend/access/heap/heapam.c                   |   15 +--
src/backend/access/index/indexam.c                 |    3 +-
src/backend/storage/lmgr/README-SSI                |   48 ++++
src/backend/storage/lmgr/predicate.c               |  226 +++++++++-----------
src/include/storage/predicate.h                    |    1 -
.../isolation/expected/multiple-row-versions.out   |    2 +-
.../isolation/specs/multiple-row-versions.spec     |    5 +-
7 files changed, 150 insertions(+), 150 deletions(-)


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: pgsql: Remove usage of &PL_sv_undef in hashes and arrays
Next
From: Magnus Hagander
Date:
Subject: pgsql: Don't include local line on platforms without support