Changeset: b9059dafd284 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b9059dafd284 Modified Files: sql/test/SQLancer/Tests/sqlancer22.test Branch: Jan2022 Log Message:
Added test for expression with freevars early pushdown. Also backported test from default diffs (98 lines): diff --git a/sql/test/SQLancer/Tests/sqlancer22.test b/sql/test/SQLancer/Tests/sqlancer22.test --- a/sql/test/SQLancer/Tests/sqlancer22.test +++ b/sql/test/SQLancer/Tests/sqlancer22.test @@ -76,6 +76,24 @@ statement ok START TRANSACTION statement ok +CREATE TABLE mct20 (c0 INTERVAL DAY,c1 DATE) + +query I nosort +select 1 from mct20 inner join (select x.x from (values (true)) x(x)) as nort0(norc0) +on true and greatest(((select nort0.norc0) intersect (select true)), true) +---- + +statement error GDK reported error: BATsubcross: more than one match +select 1 from mct20 inner join (select x.x from (values (true)) x(x)) as nort0(norc0) +on true and greatest(((select nort0.norc0) union all (select true)), true) + +statement ok +ROLLBACK + +statement ok +START TRANSACTION + +statement ok CREATE TABLE t0(c0 INT) query I nosort @@ -100,4 +118,69 @@ SELECT c0 FROM t0 NULL statement ok +CREATE TABLE rt0 (c0 INT) + +statement ok +CREATE TABLE rt2v2 (c0 UUID) + +statement ok rowcount 1 +INSERT INTO rt2v2 VALUES (uuid 'dbC4da54-8C0B-4b83-E74E-30342dA0a5fF') + +statement ok rowcount 0 +update rt2v2 set c0 = (select rt2v2.c0 from rt0 where false) from rt0 where cast(2 in (select null where true) as boolean) + +statement ok ROLLBACK + +statement ok +START TRANSACTION + +statement ok +create table t0 (c0 int) + +statement ok +create or replace view vx(vc0, vc1, vc2) as (values (1,0,2)) + +query I nosort +SELECT 1 FROM (values (0)) vx(vc1) WHERE 1 > ALL(SELECT vx.vc1 FROM t0) +---- +1 + +query I nosort +SELECT vx.vc2 FROM vx JOIN (VALUES (1)) AS x(x) ON TRUE WHERE vx.vc0 >= ALL(SELECT t0.c0 FROM t0) AND 1 >= ALL(SELECT vx.vc1 FROM t0) +---- +2 + +# this one is right +query I nosort +SELECT CAST(SUM(count) AS BIGINT) FROM (SELECT CAST(vx.vc0 >= ALL(SELECT t0.c0 FROM t0) AND 1 >= ALL(SELECT vx.vc1 FROM t0) AS INT) +as count FROM vx JOIN (VALUES (1)) AS x(x) ON TRUE) as res +---- +1 + +statement ok +create or replace view vx(x) AS (VALUES (184),(33),(3600)) + +statement ok +create or replace view vy(y) AS (VALUES (FALSE),(FALSE)) + +query I nosort +SELECT 1 FROM vy WHERE NOT EXISTS (SELECT 1 FROM vx WHERE vy.y) +---- +1 +1 + +query I nosort +SELECT vy.y FROM vy WHERE CAST(NOT EXISTS (SELECT 1 FROM vx WHERE vy.y) AS BOOLEAN) +---- +0 +0 + +# this one is right +query I nosort +SELECT CAST(SUM(count) AS BIGINT) FROM (SELECT CAST(CAST(NOT EXISTS (SELECT 1 FROM vx WHERE vy.y) AS BOOLEAN) AS INT) as count FROM vy) as res +---- +2 + +statement ok +ROLLBACK _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list