Changeset: 4c57082b515c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4c57082b515c
Modified Files:
        sql/backends/monet5/rel_physical.c
        sql/backends/monet5/rel_pphash.c
Branch: default
Log Message:

added implementation for anti-join with hash on left.


diffs (26 lines):

diff --git a/sql/backends/monet5/rel_physical.c 
b/sql/backends/monet5/rel_physical.c
--- a/sql/backends/monet5/rel_physical.c
+++ b/sql/backends/monet5/rel_physical.c
@@ -872,7 +872,7 @@ rel_pipeline(visitor *v, sql_rel *rel, b
                bool cross = list_empty(eq_exps);
 
                sql_rel *l = rel->l, *r = rel->r;
-               if (!cross && rel_getcount(v->sql, l) < rel_getcount(v->sql, r) 
&& rel->op == op_semi)
+               if (!cross && rel_getcount(v->sql, l) < rel_getcount(v->sql, r))
                        rel->oahash = 1;
                else
                        rel->oahash = 2;
diff --git a/sql/backends/monet5/rel_pphash.c b/sql/backends/monet5/rel_pphash.c
--- a/sql/backends/monet5/rel_pphash.c
+++ b/sql/backends/monet5/rel_pphash.c
@@ -1254,8 +1254,8 @@ rel2bin_oahash_fullouterjoin(backend *be
                                sel = matched;
                        else
                                sel = stmt_project(be, matched, sel);
-                       //if (anti_join)
-                               //sel = /* empty */
+                       if (anti_join)
+                               sel = stmt_selectnil(be, sel, NULL); /* empty */
                }
                list *lp = sa_list(sql->sa);
                for (node *n = probe_side->h; n; n = n->next) {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to