Add regression test for two-phase transaction in postgres_fdw
postgres_fdw does not support two-phase transactions, so let's add a small negative test case to check after it. Note that this is checked using an end-of-xact callback to ensure a proper connection cleanup with the foreign server, which is called before checking if a server is able to handle 2PC with max_prepared_xacts, so this test does not need an alternate output file. Author: Gilles Darold Discussion: https://postgr.es/m/20191108090507.GC1768@paquier.xyz
This commit is contained in:
parent
1379fd537f
commit
94fec48516
|
@ -8781,3 +8781,16 @@ SELECT b, avg(a), max(a), count(*) FROM pagg_tab GROUP BY b HAVING sum(a) < 700
|
|||
|
||||
-- Clean-up
|
||||
RESET enable_partitionwise_aggregate;
|
||||
-- Two-phase transactions are not supported.
|
||||
BEGIN;
|
||||
SELECT count(*) FROM ft1;
|
||||
count
|
||||
-------
|
||||
822
|
||||
(1 row)
|
||||
|
||||
-- error here
|
||||
PREPARE TRANSACTION 'fdw_tpc';
|
||||
ERROR: cannot PREPARE a transaction that has operated on postgres_fdw foreign tables
|
||||
ROLLBACK;
|
||||
WARNING: there is no transaction in progress
|
||||
|
|
|
@ -2479,3 +2479,10 @@ SELECT b, avg(a), max(a), count(*) FROM pagg_tab GROUP BY b HAVING sum(a) < 700
|
|||
|
||||
-- Clean-up
|
||||
RESET enable_partitionwise_aggregate;
|
||||
|
||||
-- Two-phase transactions are not supported.
|
||||
BEGIN;
|
||||
SELECT count(*) FROM ft1;
|
||||
-- error here
|
||||
PREPARE TRANSACTION 'fdw_tpc';
|
||||
ROLLBACK;
|
||||
|
|
Loading…
Reference in a new issue