Regression tests vs SERIALIZABLE
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Date: 2021-03-15T04:24:08Z
Lists: pgsql-hackers
Attachments
- 0001-Parallel-regression-tests-don-t-need-workaround-for-.patch (text/x-patch) patch 0001
Hi, While reviewing the patch for parallel REFRESH MATERIALIZED VIEW, I noticed that select_parallel.sql and write_parallel.sql believe that (1) the tests are supposed to work with serializable as a default isolation level, and (2) parallelism would be inhibited by that, so they'd better use something else explicitly. Here's a patch to update that second thing in light of commit bb16aba5. I don't think it matters enough to bother back-patching it. 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? @@ -1032,7 +1032,7 @@ SHOW transaction_isolation; -- out of transaction block transaction_isolation ----------------------- - read committed + serializable (1 row)
Commits
-
Fix transaction.sql tests in higher isolation levels.
- 37929599499f 14.0 landed
-
Drop SERIALIZABLE workaround from parallel query tests.
- eeb60e45d82d 14.0 landed
-
Fix behavior of AND CHAIN outside of explicit transaction blocks
- 862ef372d6b2 13.0 cited
-
Enable parallel query with SERIALIZABLE isolation.
- bb16aba50c94 12.0 cited