Changeset: e3015ebc2462 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e3015ebc2462 Modified Files: sql/server/rel_select.c sql/test/SQLancer/Tests/sqlancer07.sql Branch: Oct2020 Log Message:
Making SQLancer happy. If rs2 is set and is atomic as well, there's no push down to be done diffs (28 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1548,7 +1548,7 @@ rel_select_push_exp_down(mvc *sql, sql_r return rel_select(sql->sa, rel, e); if (rs->card <= CARD_ATOM && (exp_is_atom(rs) || exp_has_freevar(sql, rs) || exp_has_freevar(sql, ls)) && (!rs2 || (rs2->card <= CARD_ATOM && (exp_is_atom(rs2) || exp_has_freevar(sql, rs2))))) { - if ((ls->card == rs->card && !rs2) || rel->processed) /* bin compare op */ + if ((ls->card == rs->card && (!rs2 || ls->card == rs2->card)) || rel->processed) /* bin compare op */ return rel_select(sql->sa, rel, e); return push_select_exp(sql, rel, e, ls, L, f); diff --git a/sql/test/SQLancer/Tests/sqlancer07.sql b/sql/test/SQLancer/Tests/sqlancer07.sql --- a/sql/test/SQLancer/Tests/sqlancer07.sql +++ b/sql/test/SQLancer/Tests/sqlancer07.sql @@ -122,3 +122,12 @@ SELECT t1.c0 FROM t1; -- 0.3946154725285108 -- 0.3946154725285108 ROLLBACK; + +START TRANSACTION; +CREATE TABLE "t0" ("c0" DECIMAL(18,3) NOT NULL,"c1" DOUBLE PRECISION NOT NULL); +CREATE TABLE "t1" ("c1" DOUBLE PRECISION); +CREATE TABLE "t2" ("c0" DECIMAL(18,3),"c1" DOUBLE PRECISION); + +SELECT (SELECT 1 FROM t1, t2, t0 JOIN (SELECT 1) AS sub0 ON (t1.c1) BETWEEN (t2.c1) AND (t1.c1)) FROM t2, t0 CROSS JOIN t1; + -- empty +ROLLBACK; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list