Changeset: f63936b77e0f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f63936b77e0f
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        monetdb5/optimizer/opt_mask.c
        sql/test/Tests/setoptimizer.stable.out
Branch: msk-type
Log Message:

Checked in the msk-type patches. Not approved test yet, because the next step 
is to convert
the current mask.{mark,umask} operations into proper MSK operations instead of 
fake OID lists.
Then we can 1) determine their cost and 2) we can gradually move the code into 
the relevant operations.

There are likely some collaterals to deal with.


diffs (209 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -16373,7 +16373,7 @@ stdout of test 'MAL-signatures` in direc
 [ "mapi",      "stop", "command mapi.stop():void ",    "SERVERstop;",  ""      
]
 [ "mapi",      "suspend",      "command mapi.suspend():void ", 
"SERVERsuspend;",       ""      ]
 [ "mapi",      "trace",        "command mapi.trace(X_1:int, X_2:int):void ",   
"SERVERtrace;", ""      ]
-[ "mask",      "mask", "pattern mask.mask(X_1:any):bat[:any_1] ",      
"MSKmask;",     ""      ]
+[ "mask",      "mask", "pattern mask.mask(X_1:bat[:oid]):bat[:oid] ",  
"MSKmask;",     ""      ]
 [ "mask",      "select",       "command mask.select(X_1:bat[:any_1], 
X_2:any_1, X_3:any_1, X_4:bit, X_5:bit, X_6:bit):bat[:oid] ",     
"MSKselect1;",  ""      ]
 [ "mask",      "select",       "command mask.select(X_1:bat[:any_1], 
X_2:any_1, X_3:any_1, X_4:bit, X_5:bit, X_6:bit, X_7:bit):bat[:oid] ",    
"MSKselect1nil;",       ""      ]
 [ "mask",      "select",       "command mask.select(X_1:bat[:any_1], 
X_2:bat[:oid], X_3:any_1, X_4:any_1, X_5:bit, X_6:bit, X_7:bit):bat[:oid] ",    
  "MSKselect2;",  ""      ]
@@ -16381,7 +16381,7 @@ stdout of test 'MAL-signatures` in direc
 [ "mask",      "selectNotNil", "command 
mask.selectNotNil(X_1:bat[:any_2]):bat[:any_2] ",      "MSKselectNotNil;",     
""      ]
 [ "mask",      "thetaselect",  "command mask.thetaselect(X_1:bat[:any_1], 
X_2:any_1, X_3:str):bat[:oid] ",     "MSKthetaselect1;",     ""      ]
 [ "mask",      "thetaselect",  "command mask.thetaselect(X_1:bat[:any_1], 
X_2:bat[:oid], X_3:any_1, X_4:str):bat[:oid] ",      "MSKthetaselect2;",     "" 
     ]
-[ "mask",      "umask",        "pattern mask.umask(X_1:any):bat[:any_1] ",     
"MSKumask;",    ""      ]
+[ "mask",      "umask",        "pattern mask.umask(X_1:bat[:oid]):bat[:oid] ", 
"MSKumask;",    ""      ]
 [ "mat",       "new",  "pattern mat.new(X_1:bat[:any_2]...):bat[:any_2] ",     
"MATpack;",     ""      ]
 [ "mat",       "pack", "pattern mat.pack(X_1:bat[:any_2]...):bat[:any_2] ",    
"MATpack;",     ""      ]
 [ "mat",       "pack", "pattern mat.pack(X_1:any_2...):bat[:any_2] ",  
"MATpackValues;",       ""      ]
@@ -16591,6 +16591,8 @@ stdout of test 'MAL-signatures` in direc
 [ "optimizer", "json", "pattern optimizer.json(X_1:str, X_2:str):str ",        
"OPTwrapper;",  ""      ]
 [ "optimizer", "macro",        "pattern optimizer.macro(X_1:str, X_2:str):void 
",      "OPTmacro;",    ""      ]
 [ "optimizer", "macro",        "pattern optimizer.macro(X_1:str, X_2:str, 
X_3:str, X_4:str):void ",    "OPTmacro;",    ""      ]
+[ "optimizer", "mask", "pattern optimizer.mask():str ",        "OPTwrapper;",  
""      ]
+[ "optimizer", "mask", "pattern optimizer.mask(X_1:str, X_2:str):str ",        
"OPTwrapper;",  ""      ]
 [ "optimizer", "matpack",      "pattern optimizer.matpack():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "matpack",      "pattern optimizer.matpack(X_1:str, 
X_2:str):str ",     "OPTwrapper;",  ""      ]
 [ "optimizer", "mergetable",   "pattern optimizer.mergetable():str ",  
"OPTwrapper;",  ""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -23029,7 +23029,7 @@ stdout of test 'MAL-signatures` in direc
 [ "mapi",      "stop", "command mapi.stop():void ",    "SERVERstop;",  ""      
]
 [ "mapi",      "suspend",      "command mapi.suspend():void ", 
"SERVERsuspend;",       ""      ]
 [ "mapi",      "trace",        "command mapi.trace(X_1:int, X_2:int):void ",   
"SERVERtrace;", ""      ]
-[ "mask",      "mask", "pattern mask.mask(X_1:any):bat[:any_1] ",      
"MSKmask;",     ""      ]
+[ "mask",      "mask", "pattern mask.mask(X_1:bat[:oid]):bat[:oid] ",  
"MSKmask;",     ""      ]
 [ "mask",      "select",       "command mask.select(X_1:bat[:any_1], 
X_2:any_1, X_3:any_1, X_4:bit, X_5:bit, X_6:bit):bat[:oid] ",     
"MSKselect1;",  ""      ]
 [ "mask",      "select",       "command mask.select(X_1:bat[:any_1], 
X_2:any_1, X_3:any_1, X_4:bit, X_5:bit, X_6:bit, X_7:bit):bat[:oid] ",    
"MSKselect1nil;",       ""      ]
 [ "mask",      "select",       "command mask.select(X_1:bat[:any_1], 
X_2:bat[:oid], X_3:any_1, X_4:any_1, X_5:bit, X_6:bit, X_7:bit):bat[:oid] ",    
  "MSKselect2;",  ""      ]
@@ -23037,7 +23037,7 @@ stdout of test 'MAL-signatures` in direc
 [ "mask",      "selectNotNil", "command 
mask.selectNotNil(X_1:bat[:any_2]):bat[:any_2] ",      "MSKselectNotNil;",     
""      ]
 [ "mask",      "thetaselect",  "command mask.thetaselect(X_1:bat[:any_1], 
X_2:any_1, X_3:str):bat[:oid] ",     "MSKthetaselect1;",     ""      ]
 [ "mask",      "thetaselect",  "command mask.thetaselect(X_1:bat[:any_1], 
X_2:bat[:oid], X_3:any_1, X_4:str):bat[:oid] ",      "MSKthetaselect2;",     "" 
     ]
-[ "mask",      "umask",        "pattern mask.umask(X_1:any):bat[:any_1] ",     
"MSKumask;",    ""      ]
+[ "mask",      "umask",        "pattern mask.umask(X_1:bat[:oid]):bat[:oid] ", 
"MSKumask;",    ""      ]
 [ "mat",       "new",  "pattern mat.new(X_1:bat[:any_2]...):bat[:any_2] ",     
"MATpack;",     ""      ]
 [ "mat",       "pack", "pattern mat.pack(X_1:bat[:any_2]...):bat[:any_2] ",    
"MATpack;",     ""      ]
 [ "mat",       "pack", "pattern mat.pack(X_1:any_2...):bat[:any_2] ",  
"MATpackValues;",       ""      ]
@@ -23248,6 +23248,8 @@ stdout of test 'MAL-signatures` in direc
 [ "optimizer", "json", "pattern optimizer.json(X_1:str, X_2:str):str ",        
"OPTwrapper;",  ""      ]
 [ "optimizer", "macro",        "pattern optimizer.macro(X_1:str, X_2:str):void 
",      "OPTmacro;",    ""      ]
 [ "optimizer", "macro",        "pattern optimizer.macro(X_1:str, X_2:str, 
X_3:str, X_4:str):void ",    "OPTmacro;",    ""      ]
+[ "optimizer", "mask", "pattern optimizer.mask():str ",        "OPTwrapper;",  
""      ]
+[ "optimizer", "mask", "pattern optimizer.mask(X_1:str, X_2:str):str ",        
"OPTwrapper;",  ""      ]
 [ "optimizer", "matpack",      "pattern optimizer.matpack():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "matpack",      "pattern optimizer.matpack(X_1:str, 
X_2:str):str ",     "OPTwrapper;",  ""      ]
 [ "optimizer", "mergetable",   "pattern optimizer.mergetable():str ",  
"OPTwrapper;",  ""      ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -991,6 +991,7 @@ str OPTjitImplementation(Client cntxt, M
 str OPTjsonImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 str OPTmacro(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str OPTmacroImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
p);
+str OPTmaskImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 str OPTmatpackImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 str OPTmergetableImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
 str OPTmitosisImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
@@ -1595,6 +1596,7 @@ stream *maleventstream;
 str manifoldRef;
 str mapiRef;
 str markRef;
+str maskRef;
 str matRef;
 str maxRef;
 str max_no_nilRef;
@@ -1870,6 +1872,7 @@ str transaction_rollbackRef;
 void trimMalVariables(MalBlkPtr mb, MalStkPtr stk);
 void trimMalVariables_(MalBlkPtr mb, MalStkPtr glb);
 void typeChecker(Module scope, MalBlkPtr mb, InstrPtr p, int p_idx, int 
silent);
+str umaskRef;
 str uniqueRef;
 str unlockRef;
 str unpackRef;
diff --git 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -53,8 +53,8 @@ stdout of test 'opt_sql_append` in direc
 % .%1 # table_name
 % def # name
 % clob # type
-% 580 # length
-[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();"
       ]
+% 597 # length
+[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();"
      ]
 #explain copy into ttt from '/tmp/xyz';
 % .explain # table_name
 % mal # name
@@ -63,7 +63,7 @@ stdout of test 'opt_sql_append` in direc
 function user.main():void;
     X_1:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';":str, "sequential_pipe":str, 21:int);
     X_4:int := sql.mvc();
-    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x7f92641ac1e0:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x7fb42c1da100:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
     X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
     X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
     X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
@@ -113,8 +113,9 @@ end user.main;
 % .%1 # table_name
 % def # name
 % clob # type
-% 603 # length
-[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();"
        ]
+% 620 # length
+[ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();"
       ]
+#rollback;
 #explain copy into ttt from '/tmp/xyz';
 % .explain # table_name
 % mal # name
@@ -123,7 +124,7 @@ end user.main;
 function user.main():void;
     X_1:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';":str, "user_0":str, 21:int);
     X_4:int := sql.mvc();
-    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x7f92641ac1e0:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x7fb42c1da100:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
     X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
     X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
     X_40:lng := aggr.count(X_28:bat[:int]);
diff --git a/monetdb5/optimizer/opt_mask.c b/monetdb5/optimizer/opt_mask.c
--- a/monetdb5/optimizer/opt_mask.c
+++ b/monetdb5/optimizer/opt_mask.c
@@ -15,8 +15,8 @@
 str
 OPTmaskImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
-       int i, k, limit, slimit;
-       InstrPtr p=0, q=0, *old= mb->stmt;
+       int i, j, k, limit, slimit;
+       InstrPtr p=0, q=0, r=0, *old= mb->stmt;
        int actions = 0;
        int *varused=0;
        char buf[256];
@@ -46,19 +46,34 @@ OPTmaskImplementation(Client cntxt, MalB
                p = old[i];
                if( p == 0)
                        continue; //left behind by others?
+               for(j=p->retc; j< p->argc; j++){
+                       k =  getArg(p,j);
+                       if(varused[k]) {
+                               // we should actually postpone its 
reconstruction to JIT
+                               r = newInstruction(mb, maskRef, umaskRef);
+                               getArg(r,0) = k;
+                               r= pushArgument(mb, r, varused[k]);
+                               pushInstruction(mb,r);
+                               varused[k] = 0;
+                       }
+               }
                pushInstruction(mb, p);
 
                if ( getModuleId(p) == algebraRef && (getFunctionId(p) == 
selectRef || getFunctionId(p) == thetaselectRef)){
                        k=  getArg(p,0);
+                       setDestVar(p, newTmpVariable(mb, newBatType(TYPE_oid)));
+                       setVarFixed(mb,getArg(p,0));
                        // setDestVar(p, newTmpVariable(mb, 
newBatType(TYPE_msk))); TODO
-                       setDestVar(p, newTmpVariable(mb, newBatType(TYPE_oid)));
-                       setModuleId(p, maskRef);
+                       // setModuleId(p, maskRef);
 
-                       q = newInstruction(mb, maskRef, umaskRef);
-                       getArg(q,0) = k;
+                       // Inject a dummy pair, just based on :oid for now and 
later to be switched to :msk
+                       q = newInstruction(mb, maskRef, maskRef);
+                       setDestVar(q, newTmpVariable(mb, newBatType(TYPE_oid)));
+                       setVarFixed(mb,getArg(q,0));
                        q= pushArgument(mb, q, getArg(p,0));
                        pushInstruction(mb,q);
-                       actions ++;
+                       varused[k] = getArg(q,0);
+                       actions++;      
                } 
        }
 
diff --git a/sql/test/Tests/setoptimizer.stable.out 
b/sql/test/Tests/setoptimizer.stable.out
--- a/sql/test/Tests/setoptimizer.stable.out
+++ b/sql/test/Tests/setoptimizer.stable.out
@@ -67,13 +67,13 @@ stdout of test 'setoptimizer` in directo
 % .%1, .%1,    .%1 # table_name
 % name,        def,    status # name
 % clob,        clob,   clob # type
-% 15,  641,    6 # length
-[ "minimal_pipe",      
"optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.garbageCollector();",
      "stable"        ]
-[ "default_pipe",      
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
        "stable"        ]
-[ "oltp_pipe", 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.oltp();optimizer.wlc();optimizer.garbageCollector();",
   "stable"        ]
-[ "volcano_pipe",      
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.volcano();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
    "stable"        ]
-[ "no_mitosis_pipe",   
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
    "stable"        ]
-[ "sequential_pipe",   
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
 "stable"        ]
+% 15,  658,    6 # length
+[ "minimal_pipe",      
"optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.garbageCollector();",
     "stable"        ]
+[ "default_pipe",      
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
       "stable"        ]
+[ "oltp_pipe", 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.oltp();optimizer.wlc();optimizer.garbageCollector();",
  "stable"        ]
+[ "volcano_pipe",      
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.volcano();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
   "stable"        ]
+[ "no_mitosis_pipe",   
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
   "stable"        ]
+[ "sequential_pipe",   
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.mask();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();",
        "stable"        ]
 
 # 02:57:35 >  
 # 02:57:35 >  "Done."
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to