Changeset: 084bf4350eb1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=084bf4350eb1
Modified Files:
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_listing.h
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_coercion.c
Branch: default
Log Message:
Sent properties to remote site
Drop superflous operation
Add debugging for opt_coercion
diffs (106 lines):
diff --git a/monetdb5/mal/mal_listing.c b/monetdb5/mal/mal_listing.c
--- a/monetdb5/mal/mal_listing.c
+++ b/monetdb5/mal/mal_listing.c
@@ -68,7 +68,7 @@ renderTerm(MalBlkPtr mb, MalStkPtr stk,
val = &stk->stk[varid];
VALformat(&cv, val);
- if (strlen(cv) >= len)
+ if (len + strlen(cv) >= maxlen)
buf= GDKrealloc(buf, maxlen =len + strlen(cv) + BUFSIZ);
if( buf == 0){
@@ -399,7 +399,11 @@ mal2str(MalBlkPtr mb, int first, int las
if( i == 0)
txt[i] = instruction2str(mb, 0, getInstrPtr(mb, i),
LIST_MAL_NAME | LIST_MAL_TYPE | LIST_MAL_PROPS);
else
- txt[i] = instruction2str(mb, 0, getInstrPtr(mb, i),
LIST_MAL_CALL );
+ txt[i] = instruction2str(mb, 0, getInstrPtr(mb, i),
LIST_MAL_CALL | LIST_MAL_PROPS );
+#ifdef _DEBUG_LISTING_
+ mnstr_printf(GDKout,"%s\n",txt[i]);
+#endif
+
if ( txt[i])
totlen += len[i] = (int)strlen(txt[i]);
}
@@ -424,13 +428,8 @@ mal2str(MalBlkPtr mb, int first, int las
return ps;
}
-str
-function2str(MalBlkPtr mb){
- return mal2str(mb, 0,mb->stop);
-}
-
void
-promptInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg)
+printInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg)
{
str ps;
@@ -442,12 +441,6 @@ promptInstruction(stream *fd, MalBlkPtr
mnstr_printf(fd, "%s%s", (flg & LIST_MAL_MAPI ? "=" : ""), ps);
GDKfree(ps);
}
-}
-
-void
-printInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg)
-{
- promptInstruction(fd, mb, stk, p, flg);
mnstr_printf(fd, "\n");
}
diff --git a/monetdb5/mal/mal_listing.h b/monetdb5/mal/mal_listing.h
--- a/monetdb5/mal/mal_listing.h
+++ b/monetdb5/mal/mal_listing.h
@@ -22,7 +22,6 @@ mal_export str instructionCall(MalBlkPtr
mal_export void promptInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p, int flg);
mal_export str instruction2str(MalBlkPtr mb, MalStkPtr stl, InstrPtr p, int
hidden);
mal_export str mal2str(MalBlkPtr mb, int first, int last);
-mal_export str function2str(MalBlkPtr mb);
mal_export void showMalBlkHistory(stream *out, MalBlkPtr mb);
#endif /* _MAL_LIST_H */
diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c
--- a/monetdb5/modules/mal/remote.c
+++ b/monetdb5/modules/mal/remote.c
@@ -502,6 +502,7 @@ str RMTget(Client cntxt, MalBlkPtr mb, M
BAT *b;
snprintf(qbuf, BUFSIZ, "io.table(%s);", ident);
+#define _DEBUG_REMOTE
#ifdef _DEBUG_REMOTE
mnstr_printf(cntxt->fdout, "#remote.get:%s\n", qbuf);
#else
@@ -839,7 +840,7 @@ str RMTregisterInternal(Client cntxt, st
mod, fcn);
}
- qry = function2str(sym->def);
+ qry = mal2str(sym->def, 0, sym->def->stop);
#ifdef _DEBUG_REMOTE
mnstr_printf(cntxt->fdout, "#remote.register:%s:%s\n", c->name, qry);
#endif
diff --git a/monetdb5/optimizer/opt_coercion.c
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -73,12 +73,18 @@ coercionOptimizerCalcStep(Client cntxt,
b = getColumnType(getVarType(mb, getArg(p,2)));
if ( a == r && coerce[getArg(p,1)].src && coerce[getArg(p,1)].fromtype
< r )
{
+#ifdef _DEBUG_COERCION_
+ mnstr_printf(cntxt->fdout,"#remove upcast on first argument
%d\n", getArg(p,1));
+#endif
varid = getArg(p,1);
getArg(p,1) = coerce[getArg(p,1)].src;
if ( chkInstruction(NULL, cntxt->nspace, mb, p))
p->argv[1] = varid;
}
if ( b == r && coerce[getArg(p,2)].src && coerce[getArg(p,2)].fromtype
< r )
+#ifdef _DEBUG_COERCION_
+ mnstr_printf(cntxt->fdout,"#remove upcast on second argument
%d\n", getArg(p,2));
+#endif
{
varid = getArg(p,2);
getArg(p,2) = coerce[getArg(p,2)].src;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list