Changeset: 728a124e8ecf for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/728a124e8ecf
Modified Files:
sql/backends/monet5/sql_statement.c
Branch: pushcands
Log Message:
make sure we only set the candidates when we pushed or projected
diffs (30 lines):
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -3154,7 +3154,7 @@ stmt_Nop(backend *be, stmt *ops, stmt *s
sql_subtype *tpe = NULL;
int push_cands = (strcmp(mod, "calc") == 0 || strcmp(mod, "mmath") == 0
|| strcmp(mod, "mtime") == 0 ||
(strcmp(mod, "str") == 0 && batstr_func_has_candidates(fimp))
|| strcmp(mod, "mkey") == 0 || strcmp(mod, "blob") == 0);
- int pushed = 0;
+ int pushed = 0, nrcols = 0;
node *n;
stmt *o = NULL;
@@ -3168,6 +3168,8 @@ stmt_Nop(backend *be, stmt *ops, stmt *s
}
if (o->nrcols < op->nrcols)
o = op;
+ if (op->nrcols)
+ nrcols++;
}
}
@@ -3292,7 +3294,7 @@ stmt_Nop(backend *be, stmt *ops, stmt *s
s->op4.funcval = f;
s->nr = getDestVar(q);
s->q = q;
- s->cand = (pushed || (!push_cands && sel))?sel:NULL;
+ s->cand = (pushed || (!push_cands && sel && nrcols))?sel:NULL;
return s;
}
return NULL;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list