Changeset: f0bb9fa9dbb8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f0bb9fa9dbb8
Modified Files:
monetdb5/optimizer/opt_dataflow.c
Branch: parappend
Log Message:
Debug plumbing
for setting conditional breakpoints that only trigger on queries
insert into foo select value as i, value / 2 as j
from generate_series(0,cast(2 as int));
diffs (42 lines):
diff --git a/monetdb5/optimizer/opt_dataflow.c
b/monetdb5/optimizer/opt_dataflow.c
--- a/monetdb5/optimizer/opt_dataflow.c
+++ b/monetdb5/optimizer/opt_dataflow.c
@@ -155,6 +155,7 @@ dflowGarbagesink(Client cntxt, MalBlkPtr
static str
OPTdataflowImplementation_wrapped(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p)
{
+ volatile int interesting_banana = 0;
int i,j,k, start=1, slimit, breakpoint, actions=0, simple = TRUE;
int flowblock= 0;
InstrPtr *sink = NULL, *old = NULL, q;
@@ -185,6 +186,22 @@ OPTdataflowImplementation_wrapped(Client
setVariableScope(mb);
+ do {
+ if (mb->stop < 2)
+ break;
+ InstrPtr p = mb->stmt[1];
+
+ if (p->argc < 2)
+ break;
+
+ if (p->modname != querylogRef || p->fcnname != defineRef)
+ break;
+
+ const char *txt = getVarConstant(mb, getArg(p,1)).val.sval;
+ if (strstr(txt, "value / 2") != 0)
+ interesting_banana = 1;
+ } while (0);
+
limit= mb->stop;
slimit= mb->ssize;
old = mb->stmt;
@@ -305,6 +322,7 @@ wrapup:
if(states) GDKfree(states);
if(sink) GDKfree(sink);
if(old) GDKfree(old);
+ (void) interesting_banana;
return msg;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list