blob: f3e3a22b3361b123b53accf2128c11cbf20c590e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Parsed test spec with 2 sessions
starting permutation: s0_begin s0_update s1_begin s1_tuplock s0_commit s1_commit
step s0_begin: BEGIN ISOLATION LEVEL READ COMMITTED;
step s0_update: UPDATE a SET i = i + 1;
step s1_begin: BEGIN ISOLATION LEVEL READ COMMITTED;
step s1_tuplock:
-- Verify if the sub-select has a foreign-join plan
EXPLAIN (VERBOSE, COSTS OFF)
SELECT a.i,
(SELECT 1 FROM fb, fc WHERE a.i = fb.i AND fb.i = fc.i)
FROM a FOR UPDATE;
SELECT a.i,
(SELECT 1 FROM fb, fc WHERE a.i = fb.i AND fb.i = fc.i)
FROM a FOR UPDATE;
<waiting ...>
step s0_commit: COMMIT;
step s1_tuplock: <... completed>
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------
LockRows
Output: a.i, ((SubPlan expr_1)), a.ctid
-> Seq Scan on public.a
Output: a.i, (SubPlan expr_1), a.ctid
SubPlan expr_1
-> Foreign Scan
Output: 1
Relations: (public.fb) INNER JOIN (public.fc)
Remote SQL: SELECT NULL FROM (public.b r1 INNER JOIN public.c r2 ON (((r2.i = $1::integer)) AND ((r1.i = $1::integer))))
(9 rows)
i|?column?
-+--------
2|
(1 row)
step s1_commit: COMMIT;
|