pgsql: Fix `make installcheck` for serializable transactions.

From: Kevin Grittner <kgrittn(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix `make installcheck` for serializable transactions.
Date: 2015-08-06 15:51:09
Message-ID: E1ZNNRl-0003SE-OK@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix `make installcheck` for serializable transactions.

Commit e5550d5fec66aa74caad1f79b79826ec64898688 added some new
tests for ALTER TABLE which involved table scans. When
default_transaction_isolation = 'serializable' these acquire
relation-level SIReadLocks. The test results didn't cope with
that. Add SIReadLock as the minimum lock level for purposes of
these tests.

This could also be fixed by excluding this type of lock from the
my_locks view, but it would be a bug for SIReadLock to show up for
a relation which was not otherwise locked, so do it this way to
allow that sort of condition to cause a regression test failure.

There is some question whether we could avoid taking SIReadLocks
during these operations, but confirming the safety of that and
figuring out how to avoid the locks is not trivial, and would be
a separate patch.

Backpatch to 9.4 where the new tests were added.

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/543e2057fb0e89d64d7250f1afa57ac8305b85a4

Modified Files
--------------
src/test/regress/expected/alter_table.out | 3 ++-
src/test/regress/sql/alter_table.sql | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2015-08-06 16:05:52 pgsql: Reduce ProcArrayLock contention by removing backends in batches.
Previous Message Andres Freund 2015-08-06 10:44:27 pgsql: Improve includes introduced in the replication origins patch.