Changeset: d6d55f1f9b6f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d6d55f1f9b6f
Modified Files:
sql/backends/monet5/rel_physical.c
sql/backends/monet5/rel_pphash.c
Branch: pp_hashjoin
Log Message:
Backed out changeset d0e26ebd5b38
diffs (42 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
@@ -869,7 +869,7 @@ rel_pipeline(visitor *v, sql_rel *rel, b
if (rel->single || rel->op == op_left)
rel->oahash = 2;
else if (rel->op == op_right)
- rel->oahash = 2;
+ rel->oahash = 1;
else if (rel_getcount(v->sql, l) <
rel_getcount(v->sql, r))
rel->oahash = 1;
else
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
@@ -135,7 +135,7 @@ oahash_probe(backend *be, sql_rel *rel,
(void) outer;
stmt *prb_res = NULL, *outerm = NULL;
- bool has_leftouter = (rel->op == op_left || rel->op == op_full /*||
(rel->op == op_right && rel->oahash == 1)*/);
+ bool has_leftouter = (rel->op == op_left || rel->op == op_full ||
(rel->op == op_right && rel->oahash == 1));
/* stmts_ht is in the same order as the join columns */
for (node *n = exps_cmp_prb->h, *m = stmts_ht->op4.lval->h, *o =
jexps->h; n && m && o; n = n->next, m = m->next, o = o->next) {
@@ -425,7 +425,7 @@ rel2bin_oahash_equi_join(backend *be, sq
if (prb_res == NULL) return NULL;
/*** PROJECT RESULT PHASE ***/
- bit leftouter = (rel->op == op_left || rel->op == op_full /*|| (rel->op
== op_right && rel->oahash == 1)*/);
+ bit leftouter = (rel->op == op_left || rel->op == op_full || (rel->op
== op_right && rel->oahash == 1));
list *lp = oahash_project_prb(be, exps_prj_prb, prb_res, stmts_ht->op3,
leftouter, sub, probed_rowids);
list *lh = oahash_project_hsh(be, exps_prj_hsh, stmts_ht, prb_res,
leftouter, hsh_mrk);
@@ -1359,7 +1359,7 @@ rel2bin_oahash(backend *be, sql_rel *rel
} else if (is_outerjoin(rel->op)) {
if (rel->op == op_full) {
return rel2bin_oahash_fullouterjoin(be, rel, refs);
- } else if (rel->op == op_right /* && rel->single */) {
+ } else if (rel->op == op_right && rel->single ) {
return rel2bin_oahash_rightouterjoin(be, rel, refs);
} else {
return rel2bin_oahash_leftouterjoin(be, rel, refs);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]