diff options
Diffstat (limited to 'src/test/regress/sql/join.sql')
-rw-r--r-- | src/test/regress/sql/join.sql | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql index a41787d1f1e..fbaee480d32 100644 --- a/src/test/regress/sql/join.sql +++ b/src/test/regress/sql/join.sql @@ -1381,6 +1381,18 @@ select * from mki4(42); drop function mki8(bigint, bigint); drop function mki4(int); +-- test const-folding of a whole-row Var into a per-field Var +-- (need to inline a function to reach this case, else parser does it) +create function f_field_select(t onek) returns int4 as +$$ select t.unique2; $$ language sql immutable; + +explain (verbose, costs off) +select (t2.*).unique1, f_field_select(t2) from tenk1 t1 + left join onek t2 on t1.unique1 = t2.unique1 + left join int8_tbl t3 on true; + +drop function f_field_select(t onek); + -- -- test extraction of restriction OR clauses from join OR clause -- (we used to only do this for indexable clauses) |