Changeset: 274ac385b248 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=274ac385b248
Modified Files:
gdk/gdk_atoms.c
monetdb5/mal/mal_factory.c
monetdb5/mal/mal_interpreter.c
monetdb5/modules/mal/wlc.c
sql/backends/monet5/sql_rank.mal.sh
Branch: gdk_tracer
Log Message:
Merge with default branch.
diffs (112 lines):
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -933,7 +933,12 @@ ptrFromStr(const char *src, size_t *len,
return (ssize_t) (p - src);
}
+#ifdef _MSC_VER
+/* Windows doesn't put 0x in front whereas Linux does, so we do it ourselves */
+atomtostr(ptr, "0x%p", )
+#else
atomtostr(ptr, "%p", )
+#endif
#if SIZEOF_VOID_P == SIZEOF_INT
atom_io(ptr, Int, int)
diff --git a/monetdb5/mal/mal_factory.c b/monetdb5/mal/mal_factory.c
--- a/monetdb5/mal/mal_factory.c
+++ b/monetdb5/mal/mal_factory.c
@@ -138,6 +138,7 @@ runFactory(Client cntxt, MalBlkPtr mb, M
lhs->len = 0;
}
}
+ pl->stk->stktop = mb->vtop;
pl->stk->stkbot= mb->vtop; /* stack already initialized */
msg = runMAL(cntxt, mb, 0, pl->stk);
} else {
diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c
--- a/monetdb5/mal/mal_interpreter.c
+++ b/monetdb5/mal/mal_interpreter.c
@@ -760,7 +760,7 @@ str runMALsequence(Client cntxt, MalBlkP
} else if (lhs->vtype == TYPE_bat)
BBPretain(lhs->val.bval);
}
- if(ret == MAL_SUCCEED) {
+ if(ret == MAL_SUCCEED && ii == pci->argc) {
ret = runMALsequence(cntxt, pci->blk,
1, pci->blk->stop, nstk, stk, pci);
for (ii = 0; ii < nstk->stktop; ii++)
if
(ATOMextern(nstk->stk[ii].vtype))
@@ -1227,7 +1227,7 @@ str runMALsequence(Client cntxt, MalBlkP
freeException(n);
freeException(ret);
ret = new;
- }
+ } else ret = n;
}
} else {
ret = createException(MAL, nme, "Exception not caught");
diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c
--- a/monetdb5/modules/mal/wlc.c
+++ b/monetdb5/modules/mal/wlc.c
@@ -701,7 +701,7 @@ str
WLCgeneric(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
InstrPtr p;
- int i, tpe, varid;
+ int i, k, tpe, varid;
str msg = MAL_SUCCEED;
(void) stk;
@@ -709,20 +709,26 @@ WLCgeneric(Client cntxt, MalBlkPtr mb, M
if(msg)
return msg;
cntxt->wlc_kind = WLC_IGNORE;
- p = newStmt(cntxt->wlc, "wlr",getFunctionId(pci));
+ p = newInstruction(cntxt->wlc, "wlr",getFunctionId(pci));
+ k = newTmpVariable(mb,TYPE_any);
+ if( k >= 0)
+ getArg(p,0) = k;
for( i = pci->retc; i< pci->argc; i++){
tpe =getArgType(mb, pci, i);
switch(tpe){
case TYPE_str:
- p = pushStr(cntxt->wlc, p, getVarConstant(mb,
getArg(pci, i)).val.sval);
+ k = defConstant(mb,TYPE_str,&getVarConstant(mb,
getArg(pci, i)));
+ if( k >= 0)
+ p = addArgument(cntxt->wlc, p, k);
break;
default:
varid = defConstant(cntxt->wlc, tpe,
getArgReference(stk, pci, i));
if( varid >= 0)
- p = pushArgument(cntxt->wlc, p, varid);
+ p = addArgument(cntxt->wlc, p, varid);
}
}
p->ticks = GDKms();
+ pushInstruction(mb,p);
cntxt->wlc_kind = WLC_CATALOG;
return msg;
}
diff --git a/sql/backends/monet5/sql_rank.mal.sh
b/sql/backends/monet5/sql_rank.mal.sh
--- a/sql/backends/monet5/sql_rank.mal.sh
+++ b/sql/backends/monet5/sql_rank.mal.sh
@@ -371,18 +371,3 @@ comment "return the average of groups";
EOF
done
-
-cat <<EOF
-command aggr.exist(b:bat[:any_2], h:any_1):bit
-address ALGexist;
-
-command aggr.exist(b:bat[:any_2]):bit
-address SQLexist;
-
-pattern aggr.exist(v:any_2):bit
-address SQLexist_val;
-
-command aggr.subexist(b:bat[:any_2], g:bat[:oid], e:bat[:oid],
no_nil:bit):bat[:bit]
-address SQLsubexist;
-
-EOF
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list