Changeset: 634f98b64d86 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/634f98b64d86
Modified Files:
sql/backends/monet5/rel_pphash.c
Branch: manti
Log Message:
for marked groupjoin: also check that this exp is indeed is_any().
diffs (20 lines):
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
@@ -216,6 +216,7 @@ hash_probe(backend *be, sql_rel *rel, li
key = column(be, key);
bool single = ((rel->single == 1 && rel->op != op_semi) &&
(n->next == NULL) && !has_outerselect);
bool eq = (e2->flag == cmp_equal) && !anti;
+ bool grpjoin = groupjoin && is_any(e2);
if (first && match_cnt && is_any(e2)) {
first = false;
@@ -233,7 +234,7 @@ hash_probe(backend *be, sql_rel *rel, li
assert(!perfect || (!groupjoin && !has_leftouter && !prb_res));
prb_res = perfect ?
stmt_fhash_probe(be, key, m->data,
stmts_ht->op3, single, e2->semantics, eq) :
- stmt_oahash_probe(be, key, prb_res, m->data,
stmts_ht->op3, outerm, single, e2->semantics, eq, has_leftouter, groupjoin,
anti&&groupjoin);
+ stmt_oahash_probe(be, key, prb_res, m->data,
stmts_ht->op3, outerm, single, e2->semantics, eq, has_leftouter, grpjoin,
anti&&grpjoin);
if (prb_res == NULL) return NULL;
if (has_leftouter || groupjoin) {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]