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

Reply via email to