On Mon, Mar 15, 2021 at 5:24 PM Thomas Munro <thomas.mu...@gmail.com> wrote: > However, since commit 862ef372d6b, there *is* one test that fails if > you run make installcheck against a cluster running with -c > default_transaction_isolation=serializable: transaction.sql. Is that > a mistake? Is it a goal to be able to run this test suite against all > 3 isolation levels?
Here's a fix.
From 8c3a6616453c20478448ea4ec03fbae154f2f9cf Mon Sep 17 00:00:00 2001 From: Thomas Munro <tmu...@postgresql.org> Date: Mon, 15 Mar 2021 23:41:59 +1300 Subject: [PATCH] Fix transaction.sql tests in higher isolation levels. The tests shouldn't assume that the default isolation level is read committed. Discussion: https://postgr.es/m/CA%2BhUKGJUaHeK%3DHLATxF1JOKDjKJVrBKA-zmbPAebOM0Se2FQRg%40mail.gmail.com --- src/test/regress/expected/transactions.out | 1 + src/test/regress/sql/transactions.sql | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/test/regress/expected/transactions.out b/src/test/regress/expected/transactions.out index 75dc6558d8..5781598213 100644 --- a/src/test/regress/expected/transactions.out +++ b/src/test/regress/expected/transactions.out @@ -1026,6 +1026,7 @@ SHOW transaction_isolation; -- transaction is active at this point (1 row) ROLLBACK; +SET default_transaction_isolation = 'read committed'; -- START TRANSACTION + COMMIT/ROLLBACK + COMMIT/ROLLBACK AND CHAIN START TRANSACTION ISOLATION LEVEL REPEATABLE READ\; INSERT INTO abc VALUES (17)\; COMMIT\; INSERT INTO abc VALUES (18)\; COMMIT AND CHAIN; -- 17 commit, 18 error ERROR: COMMIT AND CHAIN can only be used in transaction blocks diff --git a/src/test/regress/sql/transactions.sql b/src/test/regress/sql/transactions.sql index d1b6ed0280..c12a94ff69 100644 --- a/src/test/regress/sql/transactions.sql +++ b/src/test/regress/sql/transactions.sql @@ -578,6 +578,8 @@ START TRANSACTION ISOLATION LEVEL REPEATABLE READ\; INSERT INTO abc VALUES (16)\ SHOW transaction_isolation; -- transaction is active at this point ROLLBACK; +SET default_transaction_isolation = 'read committed'; + -- START TRANSACTION + COMMIT/ROLLBACK + COMMIT/ROLLBACK AND CHAIN START TRANSACTION ISOLATION LEVEL REPEATABLE READ\; INSERT INTO abc VALUES (17)\; COMMIT\; INSERT INTO abc VALUES (18)\; COMMIT AND CHAIN; -- 17 commit, 18 error SHOW transaction_isolation; -- out of transaction block -- 2.30.1