Commit 253de7e1 authored by Kevin Grittner's avatar Kevin Grittner

Fix `make installcheck` for serializable transactions.

Commit e5550d5f 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.
parent 3a145757
...@@ -1842,7 +1842,8 @@ DROP TABLE check_fk_presence_1, check_fk_presence_2; ...@@ -1842,7 +1842,8 @@ DROP TABLE check_fk_presence_1, check_fk_presence_2;
drop type lockmodes; drop type lockmodes;
ERROR: type "lockmodes" does not exist ERROR: type "lockmodes" does not exist
create type lockmodes as enum ( create type lockmodes as enum (
'AccessShareLock' 'SIReadLock'
,'AccessShareLock'
,'RowShareLock' ,'RowShareLock'
,'RowExclusiveLock' ,'RowExclusiveLock'
,'ShareUpdateExclusiveLock' ,'ShareUpdateExclusiveLock'
......
...@@ -1271,7 +1271,8 @@ DROP TABLE check_fk_presence_1, check_fk_presence_2; ...@@ -1271,7 +1271,8 @@ DROP TABLE check_fk_presence_1, check_fk_presence_2;
-- --
drop type lockmodes; drop type lockmodes;
create type lockmodes as enum ( create type lockmodes as enum (
'AccessShareLock' 'SIReadLock'
,'AccessShareLock'
,'RowShareLock' ,'RowShareLock'
,'RowExclusiveLock' ,'RowExclusiveLock'
,'ShareUpdateExclusiveLock' ,'ShareUpdateExclusiveLock'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment