-- VtA shouldn't depend on the side of the join probing with the VALUES expression.
EXPLAIN (COSTS OFF)
-SELECT c.oid,c.relname FROM pg_class c JOIN pg_am a USING (oid)
-WHERE a.oid IN (VALUES (1), (2));
- QUERY PLAN
----------------------------------------------------------
- Nested Loop
- -> Seq Scan on pg_am a
- Filter: (oid = ANY ('{1,2}'::oid[]))
- -> Index Scan using pg_class_oid_index on pg_class c
- Index Cond: (oid = a.oid)
-(5 rows)
+SELECT c.unique1,c.ten FROM tenk1 c JOIN onek a USING (ten)
+WHERE a.ten IN (VALUES (1), (2));
+ QUERY PLAN
+--------------------------------------------------
+ Hash Join
+ Hash Cond: (a.ten = c.ten)
+ -> Seq Scan on onek a
+ Filter: (ten = ANY ('{1,2}'::integer[]))
+ -> Hash
+ -> Seq Scan on tenk1 c
+(6 rows)
EXPLAIN (COSTS OFF)
-SELECT c.oid,c.relname FROM pg_class c JOIN pg_am a USING (oid)
-WHERE c.oid IN (VALUES (1), (2));
- QUERY PLAN
----------------------------------------------------------------
+SELECT c.unique1,c.ten FROM tenk1 c JOIN onek a USING (ten)
+WHERE c.ten IN (VALUES (1), (2));
+ QUERY PLAN
+--------------------------------------------------
Hash Join
- Hash Cond: (a.oid = c.oid)
- -> Seq Scan on pg_am a
+ Hash Cond: (c.ten = a.ten)
+ -> Seq Scan on tenk1 c
+ Filter: (ten = ANY ('{1,2}'::integer[]))
-> Hash
- -> Index Scan using pg_class_oid_index on pg_class c
- Index Cond: (oid = ANY ('{1,2}'::oid[]))
+ -> Seq Scan on onek a
(6 rows)
-- Constant expressions are simplified
-- VtA shouldn't depend on the side of the join probing with the VALUES expression.
EXPLAIN (COSTS OFF)
-SELECT c.oid,c.relname FROM pg_class c JOIN pg_am a USING (oid)
-WHERE a.oid IN (VALUES (1), (2));
+SELECT c.unique1,c.ten FROM tenk1 c JOIN onek a USING (ten)
+WHERE a.ten IN (VALUES (1), (2));
EXPLAIN (COSTS OFF)
-SELECT c.oid,c.relname FROM pg_class c JOIN pg_am a USING (oid)
-WHERE c.oid IN (VALUES (1), (2));
+SELECT c.unique1,c.ten FROM tenk1 c JOIN onek a USING (ten)
+WHERE c.ten IN (VALUES (1), (2));
-- Constant expressions are simplified
EXPLAIN (COSTS OFF)