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