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

Reply via email to