mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
postgres_fdw: Split out the query_cancel test to its own file
This allows us to skip it in Cygwin, where it's reportedly flaky because
of platform bugs or something.
Backpatch to 17, where the test was introduced by commit 2466d6654f
.
Reported-by: Alexander Lakhin <exclusion@gmail.com>
Discussion: https://postgr.es/m/e4d0cb33-6be5-e4d5-ae49-9eac3ff2b005@gmail.com
This commit is contained in:
20
contrib/postgres_fdw/expected/query_cancel.out
Normal file
20
contrib/postgres_fdw/expected/query_cancel.out
Normal file
@ -0,0 +1,20 @@
|
||||
SELECT version() ~ 'cygwin' AS skip_test \gset
|
||||
\if :skip_test
|
||||
\quit
|
||||
\endif
|
||||
-- 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;
|
||||
QUERY PLAN
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
Foreign Scan
|
||||
Output: (count(*))
|
||||
Relations: Aggregate on ((((public.ft1) INNER JOIN (public.ft2)) INNER JOIN (public.ft4)) INNER JOIN (public.ft5))
|
||||
Remote SQL: SELECT count(*) FROM ((("S 1"."T 1" r1 INNER JOIN "S 1"."T 1" r2 ON (TRUE)) INNER JOIN "S 1"."T 3" r4 ON (TRUE)) INNER JOIN "S 1"."T 4" r6 ON (TRUE))
|
||||
(4 rows)
|
||||
|
||||
-- Make sure query cancellation works
|
||||
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
|
||||
COMMIT;
|
Reference in New Issue
Block a user