Changeset: 8a28b3890d5a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8a28b3890d5a
Modified Files:
        monetdb5/optimizer/opt_pipes.c
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
Branch: Feb2013
Log Message:

re-aligned no_mitosis_pipe & sequential_pipe with default_pipe:
- added optimizer.pushselect()
- disabled optimizer.groups()


diffs (256 lines):

diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c
--- a/monetdb5/optimizer/opt_pipes.c
+++ b/monetdb5/optimizer/opt_pipes.c
@@ -98,10 +98,11 @@ struct PIPELINES {
         "optimizer.coercions();"
         "optimizer.emptySet();"
         "optimizer.aliases();"
+        "optimizer.pushselect();"
         "optimizer.mergetable();"
         "optimizer.deadcode();"
         "optimizer.commonTerms();"
-        "optimizer.groups();"
+        //"optimizer.groups();"
         "optimizer.joinPath();"
         "optimizer.reorder();"
         "optimizer.deadcode();"
@@ -125,10 +126,11 @@ struct PIPELINES {
         "optimizer.coercions();"
         "optimizer.emptySet();"
         "optimizer.aliases();"
+        "optimizer.pushselect();"
         "optimizer.mergetable();"
         "optimizer.deadcode();"
         "optimizer.commonTerms();"
-        "optimizer.groups();"
+        //"optimizer.groups();"
         "optimizer.joinPath();"
         "optimizer.reorder();"
         "optimizer.deadcode();"
diff --git 
a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out 
b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
--- a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
+++ b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
@@ -57,7 +57,7 @@ function user.s4_1{autoCommit=true}():vo
     X_27 := sql.bind(X_2,"sys","t2564","c2",1);
     X_28 := sql.delta(X_23,X_25,r1_29,X_27);
     X_29 := algebra.leftfetchjoin(X_3,X_28);
-    (X_30,r1_36,r2_36) := group.multicolumns(X_29);
+    (X_30,r1_36,r2_36) := group.subgroup(X_29);
     (X_33,r1_39,r2_39) := group.subgroup(X_22,X_30);
     (X_36,r1_42,r2_42) := group.subgroupdone(X_15,X_33);
     X_39:bat[:oid,:wrd]  := aggr.subcount(X_36,X_36,r1_42,0);
diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out 
b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
--- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
+++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
@@ -23,39 +23,40 @@ Ready.
 
 Operation successful
 
-+------------------------------------------------------------------------+
++----------------------------------------------------------------+
 | mal    |
-+========================================================================+
++================================================================+
 | function user.s0_1{autoCommit=true}():void;                         |
 |     X_3:bat[:oid,:str]  := bat.new(nil:oid,nil:str);                |
 |     X_2 := sql.mvc(); |
-|     X_6:bat[:oid,:oid]  := sql.tid(X_2,"sys","_tables");            |
 |     X_9 := sql.bind(X_2,"sys","_tables","type",0);             |
+|     X_6:bat[:oid,:oid]  := sql.tid(X_2,"sys","_tables");       |
+|     X_58 := algebra.thetasubselect(X_9,X_6,2:sht,"<");         |
 |     (X_12,r1_12) := sql.bind(X_2,"sys","_tables","type",2);    |
+|     X_59 := algebra.thetasubselect(r1_12,2:sht,"<");           |
 |     X_15 := sql.bind(X_2,"sys","_tables","type",1);            |
-|     X_17 := sql.delta(X_9,X_12,r1_12,X_15);                    |
-|     X_18 := algebra.leftfetchjoin(X_6,X_17);                   |
-|     X_19 := algebra.thetasubselect(X_18,2:sht,"<");            |
-|     X_21 := sql.bind(X_2,"sys","_tables","name",0);            |
-|     (X_23,r1_29) := sql.bind(X_2,"sys","_tables","name",2);    |
-|     X_25 := sql.bind(X_2,"sys","_tables","name",1);            |
-|     X_26 := sql.delta(X_21,X_23,r1_29,X_25);                   |
-|     X_27:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_19,X_6,X_26);  |
-|     X_28 := bat.append(X_3,X_27,true);                                 |
-|     X_30:bat[:oid,:oid]  := sql.tid(X_2,"tmp","_tables");              |
-|     X_33 := sql.bind(X_2,"tmp","_tables","type",0);                    |
-|     X_36 := algebra.leftfetchjoin(X_30,X_33);                          |
-|     X_37 := algebra.thetasubselect(X_36,2:sht,"<");                    |
-|     X_38 := sql.bind(X_2,"tmp","_tables","name",0);                    |
-|     X_39:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_37,X_30,X_38); |
-|     X_41 := bat.append(X_28,X_39,true);                                |
-|     X_42 := sql.resultSet(1,1,X_41);                                   |
-|     sql.rsColumn(X_42,".tables","name","varchar",1024,0,X_41);         |
-|     X_48 := io.stdout();                                               |
-|     sql.exportResult(X_48,X_42);                                       |
+|     X_60 := algebra.thetasubselect(X_15,X_6,2:sht,"<");        |
+|     X_17 := sql.subdelta(X_58,X_12,X_59,X_60);                 |
+|     X_19 := sql.bind(X_2,"sys","_tables","name",0);            |
+|     (X_21,r1_29) := sql.bind(X_2,"sys","_tables","name",2);    |
+|     X_23 := sql.bind(X_2,"sys","_tables","name",1);            |
+|     X_24 := sql.projectdelta(X_17,X_19,X_21,r1_29,X_23);       |
+|     X_25 := bat.append(X_3,X_24,true);                         |
+|     X_30 := sql.bind(X_2,"tmp","_tables","type",0);            |
+|     X_33 := X_30;                                              |
+|     X_27:bat[:oid,:oid]  := sql.tid(X_2,"tmp","_tables");      |
+|     X_34 := algebra.thetasubselect(X_33,X_27,2:sht,"<");       |
+|     X_35 := sql.bind(X_2,"tmp","_tables","name",0);            |
+|     X_36 := X_35;                                              |
+|     X_37 := algebra.leftfetchjoin(X_34,X_36);                  |
+|     X_39 := bat.append(X_25,X_37,true);                        |
+|     X_40 := sql.resultSet(1,1,X_39);                           |
+|     sql.rsColumn(X_40,".tables","name","varchar",1024,0,X_39); |
+|     X_46 := io.stdout();                                       |
+|     sql.exportResult(X_46,X_40);                               |
 | end s0_1;                                                           |
-+------------------------------------------------------------------------+
-28 rows
++----------------------------------------------------------------+
+29 rows
 
 
 # 15:15:37 >  
diff --git a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out 
b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
--- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
+++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
@@ -47,41 +47,42 @@ 20 rows
 
 Operation successful
 
-+------------------------------------------------------------------------+
++-------------------------------------------------------------+
 | mal                                                                 |
-+========================================================================+
++=============================================================+
 | function user.s1_1{autoCommit=true}():void;                         |
 |     X_3:bat[:oid,:wrd]  := bat.new(nil:oid,nil:wrd);                |
 |     X_2 := sql.mvc();                                               |
-|     X_6:bat[:oid,:oid]  := sql.tid(X_2,"sys","_tables");            |
 |     X_9 := sql.bind(X_2,"sys","_tables","type",0);          |
+|     X_6:bat[:oid,:oid]  := sql.tid(X_2,"sys","_tables");    |
+|     X_65 := algebra.thetasubselect(X_9,X_6,2:sht,"<");      |
 |     (X_12,r1_12) := sql.bind(X_2,"sys","_tables","type",2); |
+|     X_66 := algebra.thetasubselect(r1_12,2:sht,"<");        |
 |     X_15 := sql.bind(X_2,"sys","_tables","type",1);         |
-|     X_17 := sql.delta(X_9,X_12,r1_12,X_15);                 |
-|     X_18 := algebra.leftfetchjoin(X_6,X_17);                |
-|     X_19 := algebra.thetasubselect(X_18,2:sht,"<");         |
-|     X_21 := sql.bind(X_2,"sys","_tables","id",0);           |
-|     (X_23,r1_29) := sql.bind(X_2,"sys","_tables","id",2);   |
-|     X_25 := sql.bind(X_2,"sys","_tables","id",1);           |
-|     X_26 := sql.delta(X_21,X_23,r1_29,X_25);                |
-|     X_27:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_19,X_6,X_26);  |
-|     X_28 := aggr.count(X_27);                                          |
-|     X_29 := sql.single(X_28);                                          |
-|     X_30 := bat.append(X_3,X_29,true);                                 |
-|     X_32:bat[:oid,:oid]  := sql.tid(X_2,"tmp","_tables");              |
-|     X_35 := sql.bind(X_2,"tmp","_tables","type",0);                    |
-|     X_38 := algebra.leftfetchjoin(X_32,X_35);                          |
-|     X_39 := algebra.thetasubselect(X_38,2:sht,"<");                    |
-|     X_41 := sql.bind(X_2,"tmp","_tables","id",0);                      |
-|     X_43:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_39,X_32,X_41); |
-|     X_44 := aggr.count(X_43);                                          |
-|     X_45 := bat.append(X_30,X_44,true);                                |
-|     X_47 := algebra.selectNotNil(X_45);                                |
-|     X_48:wrd  := aggr.sum(X_47);                                       |
-|     sql.exportValue(1,".tables","L1","wrd",64,0,6,X_48,"");            |
+|     X_67 := algebra.thetasubselect(X_15,X_6,2:sht,"<");     |
+|     X_17 := sql.subdelta(X_65,X_12,X_66,X_67);              |
+|     X_19 := sql.bind(X_2,"sys","_tables","id",0);           |
+|     (X_21,r1_29) := sql.bind(X_2,"sys","_tables","id",2);   |
+|     X_23 := sql.bind(X_2,"sys","_tables","id",1);           |
+|     X_24 := sql.projectdelta(X_17,X_19,X_21,r1_29,X_23);    |
+|     X_25 := aggr.count(X_24);                               |
+|     X_26 := sql.single(X_25);                               |
+|     X_27 := bat.append(X_3,X_26,true);                      |
+|     X_32 := sql.bind(X_2,"tmp","_tables","type",0);         |
+|     X_35 := X_32;                                           |
+|     X_29:bat[:oid,:oid]  := sql.tid(X_2,"tmp","_tables");   |
+|     X_36 := algebra.thetasubselect(X_35,X_29,2:sht,"<");    |
+|     X_38 := sql.bind(X_2,"tmp","_tables","id",0);           |
+|     X_40 := X_38;                                           |
+|     X_41 := algebra.leftfetchjoin(X_36,X_40);               |
+|     X_42 := aggr.count(X_41);                               |
+|     X_43 := bat.append(X_27,X_42,true);                     |
+|     X_45 := algebra.selectNotNil(X_43);                     |
+|     X_46:wrd  := aggr.sum(X_45);                            |
+|     sql.exportValue(1,".tables","L1","wrd",64,0,6,X_46,""); |
 | end s1_1;                                                           |
-+------------------------------------------------------------------------+
-30 rows
++-------------------------------------------------------------+
+31 rows
 
 
 # 19:39:11 >  
diff --git 
a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit 
b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
--- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
+++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
@@ -47,41 +47,42 @@ 20 rows
 
 Operation successful
 
-+------------------------------------------------------------------------+
++-------------------------------------------------------------+
 | mal                                                                 |
-+========================================================================+
++=============================================================+
 | function user.s1_1{autoCommit=true}():void;                         |
 |     X_3:bat[:oid,:wrd]  := bat.new(nil:oid,nil:wrd);                |
 |     X_2 := sql.mvc();                                               |
-|     X_6:bat[:oid,:oid]  := sql.tid(X_2,"sys","_tables");            |
 |     X_9 := sql.bind(X_2,"sys","_tables","type",0);          |
+|     X_6:bat[:oid,:oid]  := sql.tid(X_2,"sys","_tables");    |
+|     X_65 := algebra.thetasubselect(X_9,X_6,2:sht,"<");      |
 |     (X_12,r1_12) := sql.bind(X_2,"sys","_tables","type",2); |
+|     X_66 := algebra.thetasubselect(r1_12,2:sht,"<");        |
 |     X_15 := sql.bind(X_2,"sys","_tables","type",1);         |
-|     X_17 := sql.delta(X_9,X_12,r1_12,X_15);                 |
-|     X_18 := algebra.leftfetchjoin(X_6,X_17);                |
-|     X_19 := algebra.thetasubselect(X_18,2:sht,"<");         |
-|     X_21 := sql.bind(X_2,"sys","_tables","id",0);           |
-|     (X_23,r1_29) := sql.bind(X_2,"sys","_tables","id",2);   |
-|     X_25 := sql.bind(X_2,"sys","_tables","id",1);           |
-|     X_26 := sql.delta(X_21,X_23,r1_29,X_25);                |
-|     X_27:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_19,X_6,X_26);  |
-|     X_28 := aggr.count(X_27);                                          |
-|     X_29 := sql.single(X_28);                                          |
-|     X_30 := bat.append(X_3,X_29,true);                                 |
-|     X_32:bat[:oid,:oid]  := sql.tid(X_2,"tmp","_tables");              |
-|     X_35 := sql.bind(X_2,"tmp","_tables","type",0);                    |
-|     X_38 := algebra.leftfetchjoin(X_32,X_35);                          |
-|     X_39 := algebra.thetasubselect(X_38,2:sht,"<");                    |
-|     X_41 := sql.bind(X_2,"tmp","_tables","id",0);                      |
-|     X_43:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_39,X_32,X_41); |
-|     X_44 := aggr.count(X_43);                                          |
-|     X_45 := bat.append(X_30,X_44,true);                                |
-|     X_47 := algebra.selectNotNil(X_45);                                |
-|     X_48:wrd  := aggr.sum(X_47);                                       |
-|     sql.exportValue(1,".tables","L1","wrd",32,0,6,X_48,"");            |
+|     X_67 := algebra.thetasubselect(X_15,X_6,2:sht,"<");     |
+|     X_17 := sql.subdelta(X_65,X_12,X_66,X_67);              |
+|     X_19 := sql.bind(X_2,"sys","_tables","id",0);           |
+|     (X_21,r1_29) := sql.bind(X_2,"sys","_tables","id",2);   |
+|     X_23 := sql.bind(X_2,"sys","_tables","id",1);           |
+|     X_24 := sql.projectdelta(X_17,X_19,X_21,r1_29,X_23);    |
+|     X_25 := aggr.count(X_24);                               |
+|     X_26 := sql.single(X_25);                               |
+|     X_27 := bat.append(X_3,X_26,true);                      |
+|     X_32 := sql.bind(X_2,"tmp","_tables","type",0);         |
+|     X_35 := X_32;                                           |
+|     X_29:bat[:oid,:oid]  := sql.tid(X_2,"tmp","_tables");   |
+|     X_36 := algebra.thetasubselect(X_35,X_29,2:sht,"<");    |
+|     X_38 := sql.bind(X_2,"tmp","_tables","id",0);           |
+|     X_40 := X_38;                                           |
+|     X_41 := algebra.leftfetchjoin(X_36,X_40);               |
+|     X_42 := aggr.count(X_41);                               |
+|     X_43 := bat.append(X_27,X_42,true);                     |
+|     X_45 := algebra.selectNotNil(X_43);                     |
+|     X_46:wrd  := aggr.sum(X_45);                            |
+|     sql.exportValue(1,".tables","L1","wrd",32,0,6,X_46,""); |
 | end s1_1;                                                           |
-+------------------------------------------------------------------------+
-30 rows
++-------------------------------------------------------------+
+31 rows
 
 
 # 19:39:11 >  
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to