Changeset: 1a38add0afe1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1a38add0afe1 Modified Files: sql/backends/monet5/rel_bin.c Branch: delete_in_vlist Log Message:
Implement NOT IN with a proper antijoin. diffs (33 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 @@ -314,27 +314,8 @@ handle_in_exps(backend *be, sql_exp *ce, } else { comp_type cmp = (in)?cmp_equal:cmp_notequal; - if (!in) - { - cmp = cmp_notequal; - - s = sel; - - for( n = nl->h; n; n = n->next) { - sql_exp *e = n->data; - stmt *i = exp_bin(be, use_r?e->r:e, left, right, grp, ext, cnt, NULL); - - s = stmt_uselect(be, c, i, cmp, s, 0); - } - } - else - { - cmp = cmp_equal; - - s = distinct_value_list(be, value_list(be, nl, left)); - - s = stmt_join(be, c, s, sel, in, cmp); - } + s = distinct_value_list(be, value_list(be, nl, left)); + s = stmt_join(be, c, s, sel, in, cmp); } return s; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list