Changeset: a541fb04e5bc for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a541fb04e5bc Modified Files: sql/backends/monet5/sql_gencode.c Branch: arrays Log Message:
ignore joins with tid in case of arrays diffs (49 lines): diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -1791,18 +1791,6 @@ static int return -1; if ((r = _dumpstmt(sql, mb, s->op2)) < 0) return -1; -/* if(s->op3 && s->op1->type == st_mbrselect) { - if ((extra = _dumpstmt(sql, mb, s->op3)) < 0) - return -1; - q = newStmt2(mb, "algebra", "mbrproject"); - q = pushArgument(mb, q, r); - q = pushArgument(mb, q, l); - q = pushArgument(mb, q, extra); - - s->nr = getDestVar(q); - return s->nr; - } -*/ if (cmp == cmp_joined) { s->nr = l; return s->nr; @@ -1810,6 +1798,16 @@ static int if (cmp == cmp_project || cmp == cmp_reorder_project) { int ins; + /* check if we have two input variables in the right argument*/ + snprintf(nme, SMALLBUFSIZ, "Y_%d", r); + if(findVariable(mb, nme) >= 0 && s->op1->type == st_tid) { + /*it is an array related join with a tid + * send the right input to the output + * i.e tids does not do something useful*/ + s->nr = r; + return s->nr; + } + /* delta bat */ if (s->op3) { char nme[SMALLBUFSIZ]; @@ -1837,9 +1835,6 @@ static int else q = newStmt2(mb, algebraRef, leftjoinRef); - if(s->op1->type == st_tid && s->op2->type == st_bat && isArray(s->op2->op4.cval->t)) - q = pushReturn(mb, q, newTmpVariable(mb, TYPE_ptr)); - q = pushArgument(mb, q, l); snprintf(nme, SMALLBUFSIZ, "Y_%d", l); if((arraySecondVar = findVariable(mb, nme)) >= 0) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list