Changeset: 725096e98fd1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=725096e98fd1
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/benchmarks/tpcds/Tests/38.stable.out
Branch: default
Log Message:

use the new equality + nil functions for handling nils with except and 
intersection


diffs (34 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
@@ -1775,11 +1775,17 @@ releqjoin( backend *be, list *l1, list *
                /* intentional both tail_type's of le (as re sometimes is a 
find for bulk loading */
                sql_subfunc *f = NULL;
                stmt * cmp;
+               list *ops;
 
                f = sql_bind_func(sql->sa, sql->session->schema, "=", 
tail_type(le), tail_type(le), F_FUNC);
                assert(f);
 
-               cmp = stmt_binop(be, le, re, f);
+               ops = sa_list(be->mvc->sa);
+               list_append(ops, le);
+               list_append(ops, re);
+               if (cmp_op == cmp_equal_nil)
+                       list_append(ops, stmt_bool(be, 1));
+               cmp = stmt_Nop(be, stmt_list(be, ops), f);
                cmp = stmt_uselect(be, cmp, stmt_bool(be, 1), cmp_equal, NULL, 
0);
                l = stmt_project(be, cmp, l );
                r = stmt_project(be, cmp, r );
diff --git a/sql/benchmarks/tpcds/Tests/38.stable.out 
b/sql/benchmarks/tpcds/Tests/38.stable.out
--- a/sql/benchmarks/tpcds/Tests/38.stable.out
+++ b/sql/benchmarks/tpcds/Tests/38.stable.out
@@ -44,7 +44,7 @@ Ready.
 % .L27 # table_name
 % L27 # name
 % bigint # type
-% 1 # length
+% 3 # length
 [ 107  ]
 
 # 15:08:47 >  
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to