Changeset: 621f76f4c576 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=621f76f4c576
Modified Files:
sql/backends/monet5/sql_execute.c
Branch: Jul2017
Log Message:
Don't assume that bat.append modifies its first argument.
Patch by Roberto Cornacchia.
diffs (88 lines):
diff --git a/sql/backends/monet5/sql_execute.c
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -84,6 +84,7 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= newStmt(mb, profilerRef, stoptraceRef);
q= pushStr(mb,q,"sql_traces");
+
/* cook a new resultSet instruction */
resultset = newInstruction(mb,sqlRef, resultSetRef);
getArg(resultset,0) = newTmpVariable(mb, TYPE_int);
@@ -92,7 +93,6 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
tbls = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(tbls,0), newBatType(TYPE_str));
tbls = pushType(mb, tbls, TYPE_str);
- resultset= pushArgument(mb,resultset, getArg(tbls,0));
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q,getArg(tbls,0));
@@ -103,11 +103,12 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb,q,k);
q= pushStr(mb,q,".trace");
+ resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build colum defs */
cols = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(cols,0), newBatType(TYPE_str));
cols = pushType(mb, cols, TYPE_str);
- resultset= pushArgument(mb,resultset, getArg(cols,0));
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q,getArg(cols,0));
@@ -115,14 +116,15 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
k= getArg(q,0);
q= newStmt(mb,batRef,appendRef);
- q= pushArgument(mb,q, getArg(cols,0));
+ q= pushArgument(mb,q, k);
q= pushStr(mb,q,"statement");
+ resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build type defs */
types = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(types,0), newBatType(TYPE_str));
types = pushType(mb, types, TYPE_str);
- resultset= pushArgument(mb,resultset, getArg(types,0));
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q, getArg(types,0));
@@ -133,11 +135,12 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb,q, k);
q= pushStr(mb,q,"clob");
+ resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build scale defs */
clen = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(clen,0), newBatType(TYPE_int));
clen = pushType(mb, clen, TYPE_int);
- resultset= pushArgument(mb,resultset, getArg(clen,0));
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q, getArg(clen,0));
@@ -148,11 +151,12 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb,q, k);
q= pushInt(mb,q,0);
+ resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build scale defs */
scale = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(scale,0), newBatType(TYPE_int));
scale = pushType(mb, scale, TYPE_int);
- resultset= pushArgument(mb,resultset, getArg(scale,0));
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q, getArg(scale,0));
@@ -163,6 +167,8 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb, q, k);
q= pushInt(mb,q,0);
+ resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* add the ticks column */
q = newStmt(mb, profilerRef, "getTrace");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list