mirror of
https://github.com/postgres/postgres.git
synced 2025-04-18 13:44:19 +03:00
Stabilize postgres_fdw test
The test fails when RESET statement_timeout takes longer than 10ms. Avoid the problem by using SET LOCAL instead. Overall, this test is not ideal: 10ms could be shorter than the time to have sent the query to the "remote" server, so it's possible that on some machines this test doesn't actually witness a remote query being cancelled. We may want to improve on this someday by using some other testing technique, but for now it's better than nothing. I verified manually that one round of remote cancellation occurs when this runs on my machine. Discussion: https://postgr.es/m/CAGECzQRsdWnj=YaaPCnA8d7E1AdbxRPBYmyBQRMPUijR2MpM_w@mail.gmail.com
This commit is contained in:
parent
056c565742
commit
ecf741cfae
@ -2750,10 +2750,11 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM ft1 CROSS JOIN ft2 CROSS JOIN
|
||||
(4 rows)
|
||||
|
||||
-- Make sure query cancellation works
|
||||
SET statement_timeout = '10ms';
|
||||
BEGIN;
|
||||
SET LOCAL statement_timeout = '10ms';
|
||||
select count(*) from ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; -- this takes very long
|
||||
ERROR: canceling statement due to statement timeout
|
||||
RESET statement_timeout;
|
||||
COMMIT;
|
||||
-- ====================================================================
|
||||
-- Check that userid to use when querying the remote table is correctly
|
||||
-- propagated into foreign rels present in subqueries under an UNION ALL
|
||||
|
@ -740,9 +740,10 @@ ALTER VIEW v4 OWNER TO regress_view_owner;
|
||||
-- Make sure this big CROSS JOIN query is pushed down
|
||||
EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5;
|
||||
-- Make sure query cancellation works
|
||||
SET statement_timeout = '10ms';
|
||||
BEGIN;
|
||||
SET LOCAL statement_timeout = '10ms';
|
||||
select count(*) from ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; -- this takes very long
|
||||
RESET statement_timeout;
|
||||
COMMIT;
|
||||
|
||||
-- ====================================================================
|
||||
-- Check that userid to use when querying the remote table is correctly
|
||||
|
Loading…
x
Reference in New Issue
Block a user