Changeset: a67cf02dc243 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a67cf02dc243
Modified Files:
        sql/backends/monet5/sql_statement.c
Branch: pushcands
Log Message:

More cleanup


diffs (47 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
@@ -1308,7 +1308,7 @@ stmt_genselect(backend *be, stmt *lops, 
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       const char *mod = sql_func_mod(f->func), *op = sql_func_imp(f->func);
+       const char *mod = sql_func_mod(f->func), *fimp = sql_func_imp(f->func);
        int k, push_cands = strcmp(mod, "algebra") == 0, all_cands_pushed = 1;
 
        if (backend_create_subfunc(be, f, NULL) < 0)
@@ -1316,12 +1316,19 @@ stmt_genselect(backend *be, stmt *lops, 
 
        if (rops->nrcols >= 1) {
                bit need_not = FALSE;
-
                int narg = 3 + list_length(lops->op4.lval) + 
list_length(rops->op4.lval);
-               q = newStmtArgs(mb, malRef, multiplexRef, narg);
+
+               if (push_cands) {
+                       char batmodule[16];
+                       stpcpy(stpcpy(batmodule, "bat"), mod);
+                       q = newStmtArgs(mb, batmodule, fimp, narg);
+               } else {
+                       q = newStmtArgs(mb, malRef, multiplexRef, narg);
+                       q = pushStr(mb, q, convertMultiplexMod(mod, fimp));
+                       q = pushStr(mb, q, convertMultiplexFcn(fimp));
+               }
                setVarType(mb, getArg(q, 0), newBatType(TYPE_bit));
-               q = pushStr(mb, q, convertMultiplexMod(mod, op));
-               q = pushStr(mb, q, convertMultiplexFcn(op));
+
                for (node *n = lops->op4.lval->h; n; n = n->next) {
                        stmt *op = n->data;
 
@@ -1383,8 +1390,8 @@ stmt_genselect(backend *be, stmt *lops, 
                        q = pushArgument(mb, q, sel->nr);
                }
        } else {
-               op = sa_strconcat(be->mvc->sa, op, selectRef);
-               q = newStmtArgs(mb, mod, convertMultiplexFcn(op), 9);
+               fimp = sa_strconcat(be->mvc->sa, fimp, selectRef);
+               q = newStmtArgs(mb, mod, convertMultiplexFcn(fimp), 9);
                // push pointer to the SQL structure into the MAL call
                // allows getting argument names for example
                if (LANG_EXT(f->func->lang))
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to