Changeset: f46907054425 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f46907054425
Modified Files:
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        monetdb5/optimizer/Tests/groups00.stable.out
        monetdb5/optimizer/Tests/mat00.stable.out
        monetdb5/optimizer/Tests/mat01.stable.out
Branch: Feb2013
Log Message:

approved output, changes because of all the mergetable and
sub* changes.


diffs (truncated from 532 to 300 lines):

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
@@ -55,8 +55,8 @@ Ready.
 % . # table_name
 % def # name
 % clob # type
-% 446 # length
-[ 
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();"
     ]
+% 427 # length
+[ 
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();"
        ]
 #explain copy into ttt from '/:\tmp/xyz';
 % .explain # table_name
 % mal # name
@@ -66,8 +66,8 @@ function user.s2_1{autoCommit=true}():vo
     X_2 := sql.mvc();
     (X_5:bat[:oid,:int] ,X_6:bat[:oid,:int] ,X_7:bat[:oid,:int] ) := 
sql.copy_from("sys":str,"ttt":str,"|":str,"\\n":str,nil:str,"null":str,"/:\\tmp/xyz":str,-1:lng,0:lng,0:int);
     X_9 := sql.append(X_2,"sys","ttt","a",X_5);
-    X_11 := sql.append(X_9,"sys","ttt","b",X_6);
-    X_15 := sql.append(X_11,"sys","ttt","c",X_7);
+    X_11 := sql.append(X_9,"sys":str,"ttt":str,"b",X_6);
+    X_15 := sql.append(X_11,"sys":str,"ttt":str,"c",X_7);
     X_16 := aggr.count(X_7);
     sql.affectedRows(X_15,X_16,"");
 end s2_1;
@@ -83,8 +83,8 @@ end s2_1;
 % . # table_name
 % def # name
 % clob # type
-% 469 # length
-[ 
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.sql_append();optimizer.garbageCollector();"
      ]
+% 450 # length
+[ 
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.sql_append();optimizer.garbageCollector();"
 ]
 #explain copy into ttt from '/:\tmp/xyz';
 % .explain # table_name
 % mal # name
diff --git a/monetdb5/optimizer/Tests/groups00.stable.out 
b/monetdb5/optimizer/Tests/groups00.stable.out
--- a/monetdb5/optimizer/Tests/groups00.stable.out
+++ b/monetdb5/optimizer/Tests/groups00.stable.out
@@ -29,13 +29,20 @@ function user.tst():void;
     bat.append(d,3.1400001);
     bat.append(d,3.1400001);
     bat.append(d,3.1400001);
-    (ext1,grp1) := group.new(b);
+    (xd,ext1,grp1) := group.subgroup(d);
+    io.print(xd);
     io.print(ext1);
     io.print(grp1);
-    (ext2,grp2) := group.derive(ext1,grp1,c);
+    (xc,ext2,grp2) := group.subgroupdone(c,xd);
+    io.print(xc);
     io.print(ext2);
     io.print(grp2);
-    (ext3,grp3) := group.derive(ext2,grp2,d);
+    (xb,ext3,grp3) := group.subgroupdone(b,xc);
+    io.print(xb);
+    io.print(ext3);
+    io.print(grp3);
+    (xb,ext3,grp3) := group.multicolumns(b,c,d);
+    io.print(xb);
     io.print(ext3);
     io.print(grp3);
 end tst;
@@ -56,13 +63,20 @@ function user.tst():void;
     bat.append(d,3.1400001);
     bat.append(d,3.1400001);
     bat.append(d,3.1400001);
-    (ext1,grp1) := group.multicolumns(b);
+    (xd,ext1,grp1) := group.multicolumns(d);
+    io.print(xd);
     io.print(ext1);
     io.print(grp1);
-    (ext2,grp2) := group.multicolumns(b,c);
+    (xc,ext2,grp2) := group.multicolumns(d,c);
+    io.print(xc);
     io.print(ext2);
     io.print(grp2);
-    (ext3,grp3) := group.multicolumns(b,c,d);
+    (xb,ext3,grp3) := group.multicolumns(d,c,b);
+    io.print(xb);
+    io.print(ext3);
+    io.print(grp3);
+    (xb,ext3,grp3) := group.multicolumns(b,c,d);
+    io.print(xb);
     io.print(ext3);
     io.print(grp3);
 end tst;
@@ -70,9 +84,45 @@ end tst;
 # h    t         # name
 # void wrd       # type
 #-----------------#
-[ 0@0,   1       ]
+[ 0@0,   0@0     ]
+[ 1@0,   0@0     ]
+[ 2@0,   0@0     ]
+#-----------------#
+# h    t         # name
+# void void      # type
+#-----------------#
+[ 0@0,   0@0     ]
+#-----------------#
+# h    t         # name
+# void wrd       # type
+#-----------------#
+[ 0@0,   3       ]
+#-----------------#
+# h    t         # name
+# void oid       # type
+#-----------------#
+[ 0@0,   0@0     ]
+[ 1@0,   0@0     ]
+[ 2@0,   1@0     ]
+#-----------------#
+# h    t         # name
+# void oid       # type
+#-----------------#
+[ 0@0,   0@0     ]
+[ 1@0,   2@0     ]
+#-----------------#
+# h    t         # name
+# void wrd       # type
+#-----------------#
+[ 0@0,   2       ]
 [ 1@0,   1       ]
-[ 2@0,   1       ]
+#-----------------#
+# h    t         # name
+# void void      # type
+#-----------------#
+[ 0@0,   0@0     ]
+[ 1@0,   1@0     ]
+[ 2@0,   2@0     ]
 #-----------------#
 # h    t         # name
 # void void      # type
@@ -96,18 +146,18 @@ end tst;
 [ 2@0,   2@0     ]
 #-----------------#
 # h    t         # name
+# void void      # type
+#-----------------#
+[ 0@0,   0@0     ]
+[ 1@0,   1@0     ]
+[ 2@0,   2@0     ]
+#-----------------#
+# h    t         # name
 # void wrd       # type
 #-----------------#
 [ 0@0,   1       ]
 [ 1@0,   1       ]
 [ 2@0,   1       ]
-#-----------------#
-# h    t         # name
-# void void      # type
-#-----------------#
-[ 0@0,   0@0     ]
-[ 1@0,   1@0     ]
-[ 2@0,   2@0     ]
 
 # 12:47:43 >  
 # 12:47:43 >  "Done."
diff --git a/monetdb5/optimizer/Tests/mat00.stable.out 
b/monetdb5/optimizer/Tests/mat00.stable.out
--- a/monetdb5/optimizer/Tests/mat00.stable.out
+++ b/monetdb5/optimizer/Tests/mat00.stable.out
@@ -25,16 +25,16 @@ function user.main():void;
     bat.append(m1,1@0);
     m2 := bat.new(:oid,:oid);
     bat.append(m2,2@0);
-    X_32 := algebra.select(m0,0@0,2@0);
-    X_33 := algebra.select(m1,0@0,2@0);
-    X_34 := algebra.select(m2,0@0,2@0);
-    X_36 := aggr.count(X_32);
-    X_37 := aggr.count(X_33);
-    X_38 := aggr.count(X_34);
-    X_35 := mat.pack(X_36,X_37,X_38);
-    X_39 := algebra.selectNotNil(X_35);
-    i := aggr.sum(X_39);
-    s := mat.pack(X_32,X_33,X_34);
+    X_35 := algebra.select(m0,0@0,2@0);
+    X_36 := algebra.select(m1,0@0,2@0);
+    X_37 := algebra.select(m2,0@0,2@0);
+    X_39 := aggr.count(X_35);
+    X_40 := aggr.count(X_36);
+    X_41 := aggr.count(X_37);
+    X_38 := mat.pack(X_39,X_40,X_41);
+    X_42 := algebra.selectNotNil(X_38);
+    i := aggr.sum(X_42);
+    s := mat.pack(X_35,X_36,X_37);
     io.print(s);
     io.print(i);
     c0 := bat.new(:oid,:oid);
@@ -43,49 +43,49 @@ function user.main():void;
     bat.append(c1,5@0);
     c := mat.pack(c0,c1);
     bat.append(c,6@0);
-    X_40 := algebra.join(m0,c);
-    X_41 := algebra.join(m1,c);
-    X_42 := algebra.join(m2,c);
-    j := mat.pack(X_40,X_41,X_42);
+    b := mat.pack(m0,m1,m2);
+    c := mat.pack(c0,c1);
+    j := algebra.join(b,c);
     io.print(j);
     b := mat.pack(m0,m1,m2);
     io.print(b);
+    c := mat.pack(c0,c1);
     io.print(c);
 end main;
 function user.main():void;              #  0 main:void := user.main() {G}
 # the Multi Assocation Tables 
     mdb.List();                         #  2 _2:void := MDBlistDetail() 
-    m0 := bat.new(:oid,:oid);           #  3 m0:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
-    bat.append(m0,0@0);                 #  4 _5:bat[:oid,:oid] := 
BKCappend_val_wrap(m0:bat[:oid,:oid], _6:oid) {G}
-    m1 := bat.new(:oid,:oid);           #  5 m1:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
-    bat.append(m1,1@0);                 #  6 _8:bat[:oid,:oid] := 
BKCappend_val_wrap(m1:bat[:oid,:oid], _9:oid) {G}
-    m2 := bat.new(:oid,:oid);           #  7 m2:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
-    bat.append(m2,2@0);                 #  8 _11:bat[:oid,:oid] := 
BKCappend_val_wrap(m2:bat[:oid,:oid], _12:oid) {G}
-    X_32 := algebra.select(m0,0@0,2@0); #  9 _32:bat[:oid,:oid] := 
ALGselect(m0:bat[:oid,:oid], _6:oid, _12:oid) {G}
-    X_33 := algebra.select(m1,0@0,2@0); # 10 _33:bat[:oid,:oid] := 
ALGselect(m1:bat[:oid,:oid], _6:oid, _12:oid) {G}
-    X_34 := algebra.select(m2,0@0,2@0); # 11 _34:bat[:oid,:oid] := 
ALGselect(m2:bat[:oid,:oid], _6:oid, _12:oid) {G}
-    X_36 := aggr.count(X_32);           # 12 _36:wrd := 
ALGcount_bat(_32:bat[:oid,:oid]) {G}
-    X_37 := aggr.count(X_33);           # 13 _37:wrd := 
ALGcount_bat(_33:bat[:oid,:oid]) {G}
-    X_38 := aggr.count(X_34);           # 14 _38:wrd := 
ALGcount_bat(_34:bat[:oid,:oid]) {G}
-    X_35 := mat.pack(X_36,X_37,X_38);   # 15 _35:bat[:oid,:wrd] := 
MATpackValues(_36:wrd, _37:wrd, _38:wrd) {G}
-    X_39 := algebra.selectNotNil(X_35); # 16 _39:bat[:oid,:wrd] := 
ALGselectNotNil(_35:bat[:oid,:wrd]) {G}
-    i := aggr.sum(X_39);                # 17 i:wrd := 
aggr.sum(_39:bat[:oid,:wrd]) {G}
-    s := mat.pack(X_32,X_33,X_34);      # 18 s:bat[:oid,:oid] := 
MATpack(_32:bat[:oid,:oid], _33:bat[:oid,:oid], _34:bat[:oid,:oid]) {G}
+    m0{horigin=1, torigin=1} := bat.new(:oid,:oid);#  3 m0:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
+    bat.append(m0{horigin=1, torigin=1},0@0);#  4 _5:bat[:oid,:oid] := 
BKCappend_val_wrap(m0:bat[:oid,:oid], _6:oid) {G}
+    m1{horigin=2, torigin=2} := bat.new(:oid,:oid);#  5 m1:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
+    bat.append(m1{horigin=2, torigin=2},1@0);#  6 _8:bat[:oid,:oid] := 
BKCappend_val_wrap(m1:bat[:oid,:oid], _9:oid) {G}
+    m2{horigin=3, torigin=3} := bat.new(:oid,:oid);#  7 m2:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
+    bat.append(m2{horigin=3, torigin=3},2@0);#  8 _11:bat[:oid,:oid] := 
BKCappend_val_wrap(m2:bat[:oid,:oid], _12:oid) {G}
+    X_35{horigin=1} := algebra.select(m0{horigin=1, torigin=1},0@0,2@0);#  9 
_35:bat[:oid,:oid] := ALGselect(m0:bat[:oid,:oid], _6:oid, _12:oid) {G}
+    X_36{horigin=2} := algebra.select(m1{horigin=2, torigin=2},0@0,2@0);# 10 
_36:bat[:oid,:oid] := ALGselect(m1:bat[:oid,:oid], _6:oid, _12:oid) {G}
+    X_37{horigin=3} := algebra.select(m2{horigin=3, torigin=3},0@0,2@0);# 11 
_37:bat[:oid,:oid] := ALGselect(m2:bat[:oid,:oid], _6:oid, _12:oid) {G}
+    X_39 := aggr.count(X_35{horigin=1});# 12 _39:wrd := 
ALGcount_bat(_35:bat[:oid,:oid]) {G}
+    X_40 := aggr.count(X_36{horigin=2});# 13 _40:wrd := 
ALGcount_bat(_36:bat[:oid,:oid]) {G}
+    X_41 := aggr.count(X_37{horigin=3});# 14 _41:wrd := 
ALGcount_bat(_37:bat[:oid,:oid]) {G}
+    X_38 := mat.pack(X_39,X_40,X_41);   # 15 _38:bat[:oid,:wrd] := 
MATpackValues(_39:wrd, _40:wrd, _41:wrd) {G}
+    X_42 := algebra.selectNotNil(X_38); # 16 _42:bat[:oid,:wrd] := 
ALGselectNotNil(_38:bat[:oid,:wrd]) {G}
+    i := aggr.sum(X_42);                # 17 i:wrd := 
CMDBATsum(_42:bat[:oid,:wrd]) {G}
+    s := mat.pack(X_35{horigin=1},X_36{horigin=2},X_37{horigin=3});# 18 
s:bat[:oid,:oid] := MATpack(_35:bat[:oid,:oid], _36:bat[:oid,:oid], 
_37:bat[:oid,:oid]) {G}
     io.print(s);                        # 19 _16:void := 
IOprint_val(s:bat[:oid,:oid]) {G}
     io.print(i);                        # 20 _17:void := IOprint_val(i:wrd) 
-    c0 := bat.new(:oid,:oid);           # 21 c0:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
-    bat.append(c0,4@0);                 # 22 _19:bat[:oid,:oid] := 
BKCappend_val_wrap(c0:bat[:oid,:oid], _20:oid) {G}
-    c1 := bat.new(:oid,:oid);           # 23 c1:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
-    bat.append(c1,5@0);                 # 24 _22:bat[:oid,:oid] := 
BKCappend_val_wrap(c1:bat[:oid,:oid], _23:oid) {G}
-    c := mat.pack(c0,c1);               # 25 c:bat[:oid,:oid] := 
MATpack(c0:bat[:oid,:oid], c1:bat[:oid,:oid]) {G}
+    c0{horigin=1, torigin=1} := bat.new(:oid,:oid);# 21 c0:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
+    bat.append(c0{horigin=1, torigin=1},4@0);# 22 _19:bat[:oid,:oid] := 
BKCappend_val_wrap(c0:bat[:oid,:oid], _20:oid) {G}
+    c1{horigin=2, torigin=2} := bat.new(:oid,:oid);# 23 c1:bat[:oid,:oid] := 
CMDBATnew(_4:oid, _4:oid) {G}
+    bat.append(c1{horigin=2, torigin=2},5@0);# 24 _22:bat[:oid,:oid] := 
BKCappend_val_wrap(c1:bat[:oid,:oid], _23:oid) {G}
+    c := mat.pack(c0{horigin=1, torigin=1},c1{horigin=2, torigin=2});# 25 
c:bat[:oid,:oid] := MATpack(c0:bat[:oid,:oid], c1:bat[:oid,:oid]) {G}
     bat.append(c,6@0);                  # 26 _25:bat[:oid,:oid] := 
BKCappend_val_wrap(c:bat[:oid,:oid], _26:oid) {G}
-    X_40 := algebra.join(m0,c);         # 27 _40:bat[:oid,:oid] := 
ALGjoin(m0:bat[:oid,:oid], c:bat[:oid,:oid]) {G}
-    X_41 := algebra.join(m1,c);         # 28 _41:bat[:oid,:oid] := 
ALGjoin(m1:bat[:oid,:oid], c:bat[:oid,:oid]) {G}
-    X_42 := algebra.join(m2,c);         # 29 _42:bat[:oid,:oid] := 
ALGjoin(m2:bat[:oid,:oid], c:bat[:oid,:oid]) {G}
-    j := mat.pack(X_40,X_41,X_42);      # 30 j:bat[:oid,:oid] := 
MATpack(_40:bat[:oid,:oid], _41:bat[:oid,:oid], _42:bat[:oid,:oid]) {G}
-    io.print(j);                        # 31 _28:void := 
IOprint_val(j:bat[:oid,:oid]) {G}
-    b := mat.pack(m0,m1,m2);            # 32 b:bat[:oid,:oid] := 
MATpack(m0:bat[:oid,:oid], m1:bat[:oid,:oid], m2:bat[:oid,:oid]) {G}
-    io.print(b);                        # 33 _29:void := 
IOprint_val(b:bat[:oid,:oid]) {G}
+    b := mat.pack(m0{horigin=1, torigin=1},m1{horigin=2, 
torigin=2},m2{horigin=3, torigin=3});# 27 b:bat[:oid,:oid] := 
MATpack(m0:bat[:oid,:oid], m1:bat[:oid,:oid], m2:bat[:oid,:oid]) {G}
+    c := mat.pack(c0{horigin=1, torigin=1},c1{horigin=2, torigin=2});# 28 
c:bat[:oid,:oid] := MATpack(c0:bat[:oid,:oid], c1:bat[:oid,:oid]) {G}
+    j := algebra.join(b,c);             # 29 j:bat[:oid,:oid] := 
ALGjoin(b:bat[:oid,:oid], c:bat[:oid,:oid]) {G}
+    io.print(j);                        # 30 _28:void := 
IOprint_val(j:bat[:oid,:oid]) {G}
+    b := mat.pack(m0{horigin=1, torigin=1},m1{horigin=2, 
torigin=2},m2{horigin=3, torigin=3});# 31 b:bat[:oid,:oid] := 
MATpack(m0:bat[:oid,:oid], m1:bat[:oid,:oid], m2:bat[:oid,:oid]) {G}
+    io.print(b);                        # 32 _29:void := 
IOprint_val(b:bat[:oid,:oid]) {G}
+    c := mat.pack(c0{horigin=1, torigin=1},c1{horigin=2, torigin=2});# 33 
c:bat[:oid,:oid] := MATpack(c0:bat[:oid,:oid], c1:bat[:oid,:oid]) {G}
     io.print(c);                        # 34 _30:void := 
IOprint_val(c:bat[:oid,:oid]) {G}
 end main;                               # 35  
 #-----------------#
@@ -93,30 +93,28 @@ end main;                               
 # void int       # type
 #-----------------#
 [ 0@0,   0@0     ]
-[ 0@0,   1@0     ]
-[ 0@0,   2@0     ]
+[ 1@0,   1@0     ]
+[ 2@0,   2@0     ]
 [ 3 ]
 #-----------------#
 # h    t         # name
 # void int       # type
 #-----------------#
 [ 0@0,   4@0     ]
-[ 0@0,   5@0     ]
-[ 0@0,   6@0     ]
+[ 1@0,   5@0     ]
 #-----------------#
 # h    t         # name
 # void int       # type
 #-----------------#
 [ 0@0,   0@0     ]
-[ 0@0,   1@0     ]
-[ 0@0,   2@0     ]
+[ 1@0,   1@0     ]
+[ 2@0,   2@0     ]
 #-----------------#
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to