OSDN Git Service

Restore current hint state when returned from non-hinted query planning.
[pghintplan/pg_hint_plan.git] / expected / base_plan.out
1 SET search_path TO public;
2 -- query type 1
3 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
4               QUERY PLAN              
5 --------------------------------------
6  Merge Join
7    Merge Cond: (t1.id = t2.id)
8    ->  Index Scan using t1_pkey on t1
9    ->  Index Scan using t2_pkey on t2
10 (4 rows)
11
12 -- query type 2
13 EXPLAIN (COSTS false) SELECT * FROM t1, t4 WHERE t1.val < 10;
14                QUERY PLAN                
15 -----------------------------------------
16  Nested Loop
17    ->  Bitmap Heap Scan on t1
18          Recheck Cond: (val < 10)
19          ->  Bitmap Index Scan on t1_val
20                Index Cond: (val < 10)
21    ->  Materialize
22          ->  Seq Scan on t4
23 (7 rows)
24
25 -- query type 3
26 EXPLAIN (COSTS false) SELECT * FROM t3, t4 WHERE t3.id = t4.id AND t4.ctid = '(1,1)';
27                  QUERY PLAN                  
28 ---------------------------------------------
29  Merge Join
30    Merge Cond: (t3.id = t4.id)
31    ->  Index Scan using t3_pkey on t3
32    ->  Sort
33          Sort Key: t4.id
34          ->  Seq Scan on t4
35                Filter: (ctid = '(1,1)'::tid)
36 (7 rows)
37
38 -- query type 4
39 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)';
40                QUERY PLAN                
41 -----------------------------------------
42  Nested Loop
43    ->  Tid Scan on t1
44          TID Cond: (ctid = '(1,1)'::tid)
45    ->  Index Scan using t2_pkey on t2
46          Index Cond: (id = t1.id)
47 (5 rows)
48
49 -- query type 5
50 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
51            QUERY PLAN           
52 --------------------------------
53  Hash Join
54    Hash Cond: (t1.val = t3.val)
55    ->  Seq Scan on t1
56    ->  Hash
57          ->  Seq Scan on t3
58 (5 rows)
59
60 -- query type 6
61 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
62                     QUERY PLAN                    
63 --------------------------------------------------
64  Nested Loop
65    ->  Merge Join
66          Merge Cond: (t1.id = t4.id)
67          ->  Merge Join
68                Merge Cond: (t1.id = t2.id)
69                ->  Index Scan using t1_pkey on t1
70                ->  Index Scan using t2_pkey on t2
71          ->  Sort
72                Sort Key: t4.id
73                ->  Seq Scan on t4
74    ->  Index Scan using t3_pkey on t3
75          Index Cond: (id = t1.id)
76 (12 rows)
77