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