Changeset: 24fc0d7cfd9f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=24fc0d7cfd9f
Modified Files:
monetdb5/optimizer/opt_mosaic.c
Branch: mosaic
Log Message:
OID columns can also be compressed
diffs (39 lines):
diff --git a/monetdb5/optimizer/opt_mosaic.c b/monetdb5/optimizer/opt_mosaic.c
--- a/monetdb5/optimizer/opt_mosaic.c
+++ b/monetdb5/optimizer/opt_mosaic.c
@@ -98,6 +98,9 @@ OPTmosaicImplementation(Client cntxt, Ma
check[getArg(q,0)] = 0;
}
} else
+ if ( getModuleId(p) == sqlRef && getFunctionId(p) == tidRef){
+ check[getArg(p,0)] = 1;
+ } else
if ( getModuleId(p) == algebraRef && (getFunctionId(p) == selectRef ||
getFunctionId(p) == thetaselectRef) && check[getArg(p,1)] )
/* ok */;
else
@@ -134,8 +137,23 @@ OPTmosaicImplementation(Client cntxt, Ma
getArg(q,0) = j;
p= 0;
actions++;
- }
- else
+ } else
+ if ( getModuleId(p) == sqlRef && getFunctionId(p) == tidRef){
+ //decompress before use such that it can be used
properly
+ pushInstruction(mb,p);
+ j= getArg(p,0);
+ check[getArg(p,0)] = 0;
+
+ q = newStmt(mb,mosaicRef,decompressRef);
+ setVarType(mb,getArg(q,0), getVarType(mb,getArg(p,0)));
+ setVarUDFtype(mb,getArg(q,0));
+
+ getArg(p,0) = getArg(q,0);
+ q = pushArgument(mb,q,getArg(q,0));
+ getArg(q,0) = j;
+ p= 0;
+ actions++;
+ }else
if ( getModuleId(p) == algebraRef && (getFunctionId(p) == selectRef ||
getFunctionId(p) == thetaselectRef) && check[getArg(p,1)] != 0){
setModuleId(p, mosaicRef);
actions++;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list