Changeset: 9ba7a98ed89d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9ba7a98ed89d
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk_batop.mx
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
Branch: sciql
Log Message:

Merge from default branch.


diffs (118 lines):

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
@@ -3908,6 +3908,8 @@ str GRPgroup0(int *ret, int *bid, int *s
 str GRPgroup_custom(int *rethisto, int *retbid, int *bid, int *N, int *rng);
 str GRPmax(int *retval, int *bid, int *eid);
 str GRPmin(int *retval, int *bid, int *eid);
+str GRPmulticolumngroup(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str GRPmulticolumngroup(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 str GRPprelude(void);
 str GRPprod_bte_bte(int *retval, int *bid, int *eid, bit *ignore_nils);
 str GRPprod_bte_int(int *retval, int *bid, int *eid, bit *ignore_nils);
@@ -4551,6 +4553,7 @@ str OPTevaluate(Client cntxt, MalBlkPtr 
 str OPTfactorize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str OPTforgetPrevious(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str OPTgarbageCollector(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
+str OPTgroups(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str OPTheuristics(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str OPThistory(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str OPTinline(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
@@ -5489,7 +5492,6 @@ str dense_rank_grpRef;
 int depositBox(Box box, str name, int type, ValPtr val);
 str depositRef;
 void deriveModule(Module scope, str nme);
-str derivePathRef;
 str deriveRef;
 malType destinationType(MalBlkPtr mb, InstrPtr p);
 void destroyBox(str name);
@@ -5603,6 +5605,7 @@ MalBlkPtr gotoMalBlkMarker(MalBlkPtr mb,
 str grabRef;
 str groupRef;
 str groupbyRef;
+str groupsRef;
 int hasCommonResults(InstrPtr p, InstrPtr q);
 int hasSameArguments(MalBlkPtr mb, InstrPtr p, InstrPtr q);
 int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q, int stop);
@@ -5810,6 +5813,7 @@ void moveInstruction(MalBlkPtr mb, int p
 lng msComputeTime;
 lng msFindTime;
 str mtimeRef;
+str multicolumnsRef;
 str multiplexRef;
 str mvcRef;
 InstrPtr newAssignment(MalBlkPtr mb);
diff --git a/gdk/gdk_batop.mx b/gdk/gdk_batop.mx
--- a/gdk/gdk_batop.mx
+++ b/gdk/gdk_batop.mx
@@ -2650,14 +2650,14 @@ BATmark_grp(BAT *b, BAT *g, oid *s)
                        }
                        BATsetcount(gc, BATcount(g));
                        gc->hdense = BAThdense(g);
-                       if (BAThdense(gc)) {
+                       if (gc->hdense) {
                                BATseqbase(gc, g->hseqbase);
                                gc->hsorted = GDK_SORTED;
                        } else {
                                gc->hsorted = BAThordered(g);
                        }
-                       BATkey(gc, TRUE);
-                       gc->H->nonil = gc->H->nonil;
+                       BATkey(gc, (gc->hdense || g->hkey != FALSE));
+                       gc->H->nonil = g->H->nonil;
                        gc->T->nonil = 1;
                } else {
                        gc = BATcopy(g, g->htype, g->ttype, TRUE);
@@ -2678,7 +2678,7 @@ BATmark_grp(BAT *b, BAT *g, oid *s)
        ALIGNsetH(bn, b);
        bn->hsorted = (trivprop ? GDK_SORTED : BAThordered(b));
        bn->hdense = BAThdense(b) || (trivprop && b->htype == TYPE_oid);
-       if (BAThdense(bn)) {
+       if (bn->hdense) {
                BATseqbase(bn, b->hseqbase);
        }
        BATkey(bn, (bn->hdense || b->hkey != FALSE));
@@ -2689,7 +2689,7 @@ BATmark_grp(BAT *b, BAT *g, oid *s)
                BATseqbase(BATmirror(bn), *(oid *) BUNtloc(bni, BUNfirst(bn)));
        }
        BATkey(BATmirror(bn), trivprop);
-       bn->H->nonil = bn->H->nonil;
+       bn->H->nonil = b->H->nonil;
        bn->T->nonil = 1;
 
        if (gc)
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
@@ -64,7 +64,7 @@ Ready.
 % .,   .,      . # table_name
 % name,        def,    status # name
 % clob,        clob,   clob # type
-% 18,  479,    12 # length
+% 18,  448,    12 # length
 [ "minimal_pipe",      
"optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.garbageCollector();",
        "stable"        ]
 [ "default_pipe",      
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
        "stable"        ]
 [ "groups_pipe",       
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.groups();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
     "stable"        ]
@@ -74,7 +74,6 @@ Ready.
 [ "recycler_pipe",     
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.deadcode();optimizer.recycle();optimizer.reduce();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
 "experimental"  ]
 [ "octopus_pipe",      
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.costModel();optimizer.octopus();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
       "experimental"  ]
 [ "centipede", 
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.centipede();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
      "experimental"  ]
-[ "datacell_pipe",     
"optimizer.inline();optimizer.remap();optimizer.datacell();optimizer.garbageCollector();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
      "experimental"  ]
 [ "datacyclotron_pipe",        
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.datacyclotron();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
   "experimental"  ]
 [ "dictionary_pipe",   
"optimizer.inline();optimizer.remap();optimizer.dictionary();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.constants();optimizer.commonTerms();optimizer.joinPath();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
    "experimental"  ]
 [ "compression_pipe",  
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.constants();optimizer.commonTerms();optimizer.joinPath();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.compression();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
      "experimental"  ]
diff --git a/sql/test/Tests/setoptimizer.stable.out.Windows 
b/sql/test/Tests/setoptimizer.stable.out.Windows
--- a/sql/test/Tests/setoptimizer.stable.out.Windows
+++ b/sql/test/Tests/setoptimizer.stable.out.Windows
@@ -64,9 +64,10 @@ Ready.
 % .,   .,      . # table_name
 % name,        def,    status # name
 % clob,        clob,   clob # type
-% 18,  431,    12 # length
+% 18,  448,    12 # length
 [ "minimal_pipe",      
"optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.garbageCollector();",
        "stable"        ]
 [ "default_pipe",      
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
        "stable"        ]
+[ "groups_pipe",       
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.groups();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
     "stable"        ]
 [ "no_mitosis_pipe",   
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
    "stable"        ]
 [ "sequential_pipe",   
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
 "stable"        ]
 [ "accumulator_pipe",  
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.constants();optimizer.commonTerms();optimizer.joinPath();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();",
  "stable"        ]
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to