diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/test/regress/expected/subselect.out | 13 | ||||
-rw-r--r-- | src/test/regress/sql/subselect.sql | 9 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/test/regress/expected/subselect.out b/src/test/regress/expected/subselect.out index cc3f5f3737d..fe5fc644803 100644 --- a/src/test/regress/expected/subselect.out +++ b/src/test/regress/expected/subselect.out @@ -831,6 +831,19 @@ explain (verbose, costs off) (8 rows) -- +-- Check we don't misoptimize a NOT IN where the subquery returns no rows. +-- +create temp table notinouter (a int); +create temp table notininner (b int not null); +insert into notinouter values (null), (1); +select * from notinouter where a not in (select b from notininner); + a +--- + + 1 +(2 rows) + +-- -- Check we behave sanely in corner case of empty SELECT list (bug #8648) -- create temp table nocolumns(); diff --git a/src/test/regress/sql/subselect.sql b/src/test/regress/sql/subselect.sql index 8bca1f5d55e..b5931ee700e 100644 --- a/src/test/regress/sql/subselect.sql +++ b/src/test/regress/sql/subselect.sql @@ -467,6 +467,15 @@ explain (verbose, costs off) (select (select random() where y=y) as x from (values(1),(2)) v(y)) ss; -- +-- Check we don't misoptimize a NOT IN where the subquery returns no rows. +-- +create temp table notinouter (a int); +create temp table notininner (b int not null); +insert into notinouter values (null), (1); + +select * from notinouter where a not in (select b from notininner); + +-- -- Check we behave sanely in corner case of empty SELECT list (bug #8648) -- create temp table nocolumns(); |