Changeset: fb53901932fe for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fb53901932fe
Modified Files:
monetdb5/optimizer/opt_iot.c
Branch: iot
Log Message:
Keep track of the candidates in a stream table
diffs (36 lines):
diff --git a/monetdb5/optimizer/opt_iot.c b/monetdb5/optimizer/opt_iot.c
--- a/monetdb5/optimizer/opt_iot.c
+++ b/monetdb5/optimizer/opt_iot.c
@@ -88,7 +88,19 @@ OPTiotImplementation(Client cntxt, MalBl
if( strcmp(schemas[j], schemas[btop])==0 &&
strcmp(tables[j],tables[btop]) ==0)
break;
- output[j]= output[j] || 1;
+ output[j]= 1;
+ if( j == btop)
+ btop++;
+ }
+ if( getModuleId(p)== basketRef && getFunctionId(p) == updateRef
){
+ OPTDEBUGiot mnstr_printf(cntxt->fdout, "#iot stream
table %s.%s\n", getModuleId(p), getFunctionId(p));
+ schemas[btop]= getVarConstant(mb, getArg(p,2)).val.sval;
+ tables[btop]= getVarConstant(mb, getArg(p,3)).val.sval;
+ for( j =0; j< btop ; j++)
+ if( strcmp(schemas[j], schemas[btop])==0 &&
strcmp(tables[j],tables[btop]) ==0)
+ break;
+
+ output[j]= 1;
if( j == btop)
btop++;
}
@@ -157,8 +169,10 @@ OPTiotImplementation(Client cntxt, MalBl
OPTDEBUGiot
mnstr_printf(cntxt->fdout, "#iot
optimizer found stream %d\n",fnd);
if( fnd){
+ getModuleId(p) = basketRef;
+ pushInstruction(mb,p);
alias[getArg(p,0)] = -1;
- freeInstruction(p);
+ //freeInstruction(p);
continue;
}
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list