Skip site navigation (1) Skip section navigation (2)

pgsql: The row-version chaining in Serializable Snapshot Isolationwas

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: The row-version chaining in Serializable Snapshot Isolationwas
Date: 2011-05-30 17:47:28
Message-ID: (view raw, whole thread or download thread mbox)
Lists: 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.



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

Next:From: Magnus HaganderDate: 2011-05-30 18:28:17
Subject: pgsql: Don't include local line on platforms without support
Previous:From: Alvaro HerreraDate: 2011-05-30 16:44:23
Subject: pgsql: Remove usage of &PL_sv_undef in hashes and arrays

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group