Changeset: c6ab68f7c6eb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c6ab68f7c6eb Modified Files: sql/backends/monet5/rel_bin.c sql/test/mergetables/Tests/sqlsmith-exists2.stable.out Branch: default Log Message:
Make sure both sides of the generated semi-join are columns diffs (52 lines): diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -2267,7 +2267,7 @@ rel2bin_semijoin(backend *be, sql_rel *r if (!l || !r) return NULL; - join = stmt_semijoin(be, l, r); + join = stmt_semijoin(be, column(be, l), column(be, r)); if (join) join = stmt_result(be, join, 0); if (!join) diff --git a/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out b/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out --- a/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out +++ b/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out @@ -84,6 +84,36 @@ stdout of test 'sqlsmith-exists2` in dir [ NULL ] [ NULL ] [ NULL ] +#select +# subq_0.c18 as c0, +# 19 as c1, +# subq_1.c2 as c2, +# subq_1.c3 as c3, +# subq_0.c6 as c4 +# from +# (select +# ref_0.col1 as c0, +# ref_0.col5 as c1, +# ref_0.col2 as c2, +# ref_0.col1 as c3, +# ref_0.col5 as c4, +# ref_0.col5 as c5, +# ref_0.col5 as c6, +# ref_0.col1 as c7, +# ref_0.col4 as c8, +# ref_0.col3 as c9, +# ref_0.col6 as c10, +# ref_0.col1 as c11, +# case when ref_0.col4 is null then ref_0.col2 else ref_0.col2 end +# as c12, +# ref_0.col3 as c13, +# ref_0.col2 as c14, +# ref_0.col4 as c15, +# ref_0.col4 as c16, +% sys., ., sys., sys., sys. # table_name +% c0, c1, c2, c3, c4 # name +% int, tinyint, int, int, real # type +% 1, 1, 1, 1, 15 # length #ROLLBACK; # 22:12:15 > _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list