Changeset: 71a8678a709b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=71a8678a709b
Modified Files:
monetdb5/mal/mal.h
monetdb5/mal/mal_listing.c
Branch: default
Log Message:
Fix type qualifiers in remote MAL programs
diffs (49 lines):
diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h
--- a/monetdb5/mal/mal.h
+++ b/monetdb5/mal/mal.h
@@ -98,6 +98,7 @@ mal_export void mal_exit(void);
#define LIST_MAL_VALUE 8 /* list bat tuple count */
#define LIST_MAL_PROPS 16 /* show variable properties */
#define LIST_MAL_MAPI 32 /* output Mapi compatible output */
+#define LIST_MAL_REMOTE 64 /* output MAL for remote execution */
#define LIST_MAL_CALL (LIST_MAL_NAME | LIST_MAL_VALUE )
#define LIST_MAL_DEBUG (LIST_MAL_NAME | LIST_MAL_VALUE | LIST_MAL_TYPE |
LIST_MAL_PROPS)
#define LIST_MAL_ALL (LIST_MAL_NAME | LIST_MAL_VALUE | LIST_MAL_TYPE |
LIST_MAL_PROPS | LIST_MAL_MAPI)
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
@@ -94,7 +94,7 @@ renderTerm(MalBlkPtr mb, MalStkPtr stk,
strcat(buf+len,"\"");
len++;
}
- showtype =closequote > TYPE_str ||
((isVarUDFtype(mb,varid) || isVarTypedef(mb,varid)) && isVarConstant(mb,varid))
||
+ showtype =closequote > TYPE_str ||
((isVarUDFtype(mb,varid) || isVarTypedef(mb,varid) || (flg & LIST_MAL_REMOTE))
&& isVarConstant(mb,varid)) ||
(isaBatType(getVarType(mb,varid)) && idx <
p->retc);
if (stk && isaBatType(getVarType(mb,varid)) &&
abs(stk->stk[varid].val.ival) ){
@@ -107,7 +107,7 @@ renderTerm(MalBlkPtr mb, MalStkPtr stk,
// show the type when required or frozen by the user
// special care should be taken with constants, they may have been
casted
- if ((flg & LIST_MAL_TYPE ) || (isVarUDFtype(mb, varid) && idx <
p->retc) || isVarTypedef(mb,varid) || showtype){
+ if ((flg & LIST_MAL_TYPE) || (isVarUDFtype(mb, varid) && idx < p->retc)
|| isVarTypedef(mb,varid) || showtype){
strcat(buf + len,":");
len++;
tpe = getTypeName(getVarType(mb, varid));
@@ -376,6 +376,7 @@ instruction2str(MalBlkPtr mb, MalStkPtr
return s;
}
+/* Remote execution of MAL calls for more type/property information to be
exchanged */
str
mal2str(MalBlkPtr mb, int first, int last)
{
@@ -395,7 +396,7 @@ 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 | LIST_MAL_PROPS );
+ txt[i] = instruction2str(mb, 0, getInstrPtr(mb, i),
LIST_MAL_CALL | LIST_MAL_PROPS | LIST_MAL_REMOTE);
#ifdef _DEBUG_LISTING_
mnstr_printf(GDKout,"%s\n",txt[i]);
#endif
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list