Changeset: 0ba6edfd8d93 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0ba6edfd8d93 Modified Files: Branch: default Log Message:
Merge with Aug2011 branch. diffs (261 lines): diff --git a/monetdb5/optimizer/Tests/partitions01.stable.out b/monetdb5/optimizer/Tests/partitions01.stable.out --- a/monetdb5/optimizer/Tests/partitions01.stable.out +++ b/monetdb5/optimizer/Tests/partitions01.stable.out @@ -37,25 +37,25 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {bid=812,rows=1,notnil=true} := sql.bind("sys","x","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} - x6:bat[:oid,:int] {bid=808,rows=0,notnil=true} := sql.bind("sys","x","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} - bpm10:bat[:oid,:int] := bpm.unfold(x6{bid=808,rows=0,notnil=true});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {bid=812, rows=1, notnil=true} := sql.bind("sys","x","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} + x6:bat[:oid,:int] {bid=808, rows=0, notnil=true} := sql.bind("sys","x","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} + bpm10:bat[:oid,:int] := bpm.unfold(x6{bid=808, rows=0, notnil=true});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} bpm.emptySet(bpm10); # 4 _12:void := BPMemptySet(bpm10:bat[:oid,:int]) {G} - x9:bat[:oid,:int] {bid=814,rows=0,notnil=true} := sql.bind("sys","x","i",2);# 5 x9:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} - bpm13:bat[:oid,:int] := bpm.unfold(x9{bid=814,rows=0,notnil=true});# 6 bpm13:bat[:oid,:int] := BPMunfold(x9:bat[:oid,:int]) {G} + x9:bat[:oid,:int] {bid=814, rows=0, notnil=true} := sql.bind("sys","x","i",2);# 5 x9:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} + bpm13:bat[:oid,:int] := bpm.unfold(x9{bid=814, rows=0, notnil=true});# 6 bpm13:bat[:oid,:int] := BPMunfold(x9:bat[:oid,:int]) {G} bpm.emptySet(bpm13); # 7 _16:void := BPMemptySet(bpm13:bat[:oid,:int]) {G} - x21:bat[:oid,:int] {bid=815,rows=1,notnil=true} := sql.bind("sys","x","j",1);# 8 x21:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _4:int) {G} - bpm17:bat[:oid,:int] := bpm.unfold(x21{bid=815,rows=1,notnil=true});# 9 bpm17:bat[:oid,:int] := BPMunfold(x21:bat[:oid,:int]) {G} - x18{rows=1} := algebra.markT(x1{bid=812,rows=1,notnil=true},0@0);# 10 x18:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _21:oid) {G} + x21:bat[:oid,:int] {bid=815, rows=1, notnil=true} := sql.bind("sys","x","j",1);# 8 x21:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _4:int) {G} + bpm17:bat[:oid,:int] := bpm.unfold(x21{bid=815, rows=1, notnil=true});# 9 bpm17:bat[:oid,:int] := BPMunfold(x21:bat[:oid,:int]) {G} + x18{rows=1} := algebra.markT(x1{bid=812, rows=1, notnil=true},0@0);# 10 x18:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _21:oid) {G} x19{rows=1} := bat.reverse(x18{rows=1});# 11 x19:bat[:oid,:oid] := BKCreverse(x18:bat[:oid,:oid]) {G} - x20{rows=1} := algebra.join(x19{rows=1},x1{bid=812,rows=1,notnil=true});# 12 x20:bat[:oid,:int] := ALGjoin(x19:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x20{rows=1} := algebra.join(x19{rows=1},x1{bid=812, rows=1, notnil=true});# 12 x20:bat[:oid,:int] := ALGjoin(x19:bat[:oid,:oid], x1:bat[:oid,:int]) {G} X_39 := bpm.new(:oid,:int); # 13 _39:bat[:oid,:int] := BPMnew(_40:oid, _41:int) {G} x28{rows=1} := nil:bat[:oid,:int]; # 14 x28:bat[:oid,:int] := _43:bat[:oid,:int] {G} -barrier x21:bat[:oid,:int] {bid=815,rows=1,notnil=true} := bpm.newIterator(bpm17);# 15 x21:bat[:oid,:int] := BPMnewIterator(bpm17:bat[:oid,:int]) {GJ19} - x28{rows=1} := algebra.join(x19{rows=1},x21{bid=815,rows=1,notnil=true});# 16 x28:bat[:oid,:int] := ALGjoin(x19:bat[:oid,:oid], x21:bat[:oid,:int]) {G} +barrier x21:bat[:oid,:int] {bid=815, rows=1, notnil=true} := bpm.newIterator(bpm17);# 15 x21:bat[:oid,:int] := BPMnewIterator(bpm17:bat[:oid,:int]) {GJ19} + x28{rows=1} := algebra.join(x19{rows=1},x21{bid=815, rows=1, notnil=true});# 16 x28:bat[:oid,:int] := ALGjoin(x19:bat[:oid,:oid], x21:bat[:oid,:int]) {G} bpm.addPartition(X_39,x28{rows=1}); # 17 _45:void := BPMaddPartition(_39:bat[:oid,:int], x28:bat[:oid,:int]) {G} - redo x21:bat[:oid,:int] {bid=815,rows=1,notnil=true} := bpm.hasMoreElements(bpm17);# 18 x21:bat[:oid,:int] := BPMhasMoreElements(bpm17:bat[:oid,:int]) {GJ16} -exit x21:bat[:oid,:int] {bid=815,rows=1,notnil=true};# 19 x21:bat[:oid,:int] + redo x21:bat[:oid,:int] {bid=815, rows=1, notnil=true} := bpm.hasMoreElements(bpm17);# 18 x21:bat[:oid,:int] := BPMhasMoreElements(bpm17:bat[:oid,:int]) {GJ16} +exit x21:bat[:oid,:int] {bid=815, rows=1, notnil=true};# 19 x21:bat[:oid,:int] x29 := sql.resultSet(2,1,x20{rows=1});# 20 x29:void := MDBdummy(_15:int, _4:int, x20:bat[:oid,:int]) {G} sql.rsColumn(x29,"sys.x","i","int",32,0,x20{rows=1});# 21 _26:void := MDBdummy(x29:void, _27:str, _8:str, _28:str, _29:int, _9:int, x20:bat[:oid,:int]) {G} x28{rows=1} := bpm.fold(X_39); # 22 x28:bat[:oid,:int] := BPMfold(_39:bat[:oid,:int]) {G} diff --git a/monetdb5/optimizer/Tests/partitions02.stable.out b/monetdb5/optimizer/Tests/partitions02.stable.out --- a/monetdb5/optimizer/Tests/partitions02.stable.out +++ b/monetdb5/optimizer/Tests/partitions02.stable.out @@ -35,14 +35,14 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {notnil=true,rows=0,bid=765} := sql.bind("sys","x","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} - x6:bat[:oid,:int] {notnil=true,rows=0,bid=769} := sql.bind("sys","x","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _11:int) {G} - bpm9:bat[:oid,:int] := bpm.unfold(x6{notnil=true,rows=0,bid=769});# 3 bpm9:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {notnil=true, rows=0, bid=765} := sql.bind("sys","x","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} + x6:bat[:oid,:int] {notnil=true, rows=0, bid=769} := sql.bind("sys","x","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _11:int) {G} + bpm9:bat[:oid,:int] := bpm.unfold(x6{notnil=true, rows=0, bid=769});# 3 bpm9:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} bpm.emptySet(bpm9); # 4 _12:void := BPMemptySet(bpm9:bat[:oid,:int]) {G} - x8:bat[:oid,:int] {notnil=true,rows=0,bid=771} := sql.bind("sys","x","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} - bpm13:bat[:oid,:int] := bpm.unfold(x8{notnil=true,rows=0,bid=771});# 6 bpm13:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} + x8:bat[:oid,:int] {notnil=true, rows=0, bid=771} := sql.bind("sys","x","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} + bpm13:bat[:oid,:int] := bpm.unfold(x8{notnil=true, rows=0, bid=771});# 6 bpm13:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} bpm.emptySet(bpm13); # 7 _16:void := BPMemptySet(bpm13:bat[:oid,:int]) {G} - x11{rows=0} := algebra.markT(x1{notnil=true,rows=0,bid=765},0@0);# 8 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _18:oid) {G} + x11{rows=0} := algebra.markT(x1{notnil=true, rows=0, bid=765},0@0);# 8 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _18:oid) {G} x12{rows=0} := bat.reverse(x11{rows=0});# 9 x12:bat[:oid,:oid] := BKCreverse(x11:bat[:oid,:oid]) {G} x13{rows=1} := aggr.count(x12{rows=0});# 10 x13:wrd := ALGcount_bat(x12:bat[:oid,:oid]) {G} sql.exportValue(1,"sys.","countx","int",32,0,6,x13{rows=1},"");# 11 _21:void := MDBdummy(_11:int, _22:str, _23:str, _24:str, _25:int, _4:int, _26:int, x13:wrd, _27:str) {G} diff --git a/monetdb5/optimizer/Tests/partitions03.stable.out b/monetdb5/optimizer/Tests/partitions03.stable.out --- a/monetdb5/optimizer/Tests/partitions03.stable.out +++ b/monetdb5/optimizer/Tests/partitions03.stable.out @@ -45,23 +45,23 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {notnil=true,rows=1,bid=1489} := sql.bind("sys","y","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} - x6:bat[:oid,:int] {notnil=true,rows=0,bid=1485} := sql.bind("sys","y","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} - bpm10:bat[:oid,:int] := bpm.unfold(x6{notnil=true,rows=0,bid=1485});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {notnil=true, rows=1, bid=1489} := sql.bind("sys","y","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} + x6:bat[:oid,:int] {notnil=true, rows=0, bid=1485} := sql.bind("sys","y","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} + bpm10:bat[:oid,:int] := bpm.unfold(x6{notnil=true, rows=0, bid=1485});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} bpm.emptySet(bpm10); # 4 _12:void := BPMemptySet(bpm10:bat[:oid,:int]) {G} - x8:bat[:oid,:int] {notnil=true,rows=0,bid=1491} := sql.bind("sys","y","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} - bpm13:bat[:oid,:int] := bpm.unfold(x8{notnil=true,rows=0,bid=1491});# 6 bpm13:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} + x8:bat[:oid,:int] {notnil=true, rows=0, bid=1491} := sql.bind("sys","y","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} + bpm13:bat[:oid,:int] := bpm.unfold(x8{notnil=true, rows=0, bid=1491});# 6 bpm13:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} bpm.emptySet(bpm13); # 7 _16:void := BPMemptySet(bpm13:bat[:oid,:int]) {G} - x16:bat[:oid,:int] {notnil=true,rows=1,bid=1492} := sql.bind("sys","y","j",0);# 8 x16:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _9:int) {G} - x11{rows=1} := algebra.markT(x1{notnil=true,rows=1,bid=1489},0@0);# 9 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _21:oid) {G} + x16:bat[:oid,:int] {notnil=true, rows=1, bid=1492} := sql.bind("sys","y","j",0);# 8 x16:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _9:int) {G} + x11{rows=1} := algebra.markT(x1{notnil=true, rows=1, bid=1489},0@0);# 9 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _21:oid) {G} x12{rows=1} := bat.reverse(x11{rows=1});# 10 x12:bat[:oid,:oid] := BKCreverse(x11:bat[:oid,:oid]) {G} - x13{rows=1} := algebra.join(x12{rows=1},x1{notnil=true,rows=1,bid=1489});# 11 x13:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x13{rows=1} := algebra.join(x12{rows=1},x1{notnil=true, rows=1, bid=1489});# 11 x13:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} (ext23,grp21) := group.new(x13{rows=1});# 12 (ext23:bat[:oid,:wrd], grp21:bat[:oid,:oid]) := GRPgroup(x13:bat[:oid,:int]) {G} - x18{rows=1} := algebra.join(x12{rows=1},x16{notnil=true,rows=1,bid=1492});# 13 x18:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x16:bat[:oid,:int]) {G} + x18{rows=1} := algebra.join(x12{rows=1},x16{notnil=true, rows=1, bid=1492});# 13 x18:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x16:bat[:oid,:int]) {G} (ext34,grp32) := group.derive(ext23,grp21,x18{rows=1});# 14 (ext34:bat[:oid,:wrd], grp32:bat[:oid,:oid]) := GRPderive(ext23:bat[:oid,:wrd], grp21:bat[:oid,:oid], x18:bat[:oid,:int]) {G} x21 := bat.mirror(ext34); # 15 x21:bat[:oid,:oid] := BKCmirror(ext34:bat[:oid,:wrd]) {G} - x22 := algebra.joinPath(x21,x12{rows=1},x1{notnil=true,rows=1,bid=1489});# 16 x22:bat[:any,:any] := ALGjoinPath(x21:bat[:oid,:oid], x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} - x23 := algebra.joinPath(x21,x12{rows=1},x16{notnil=true,rows=1,bid=1492});# 17 x23:bat[:any,:any] := ALGjoinPath(x21:bat[:oid,:oid], x12:bat[:oid,:oid], x16:bat[:oid,:int]) {G} + x22 := algebra.joinPath(x21,x12{rows=1},x1{notnil=true, rows=1, bid=1489});# 16 x22:bat[:any,:any] := ALGjoinPath(x21:bat[:oid,:oid], x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x23 := algebra.joinPath(x21,x12{rows=1},x16{notnil=true, rows=1, bid=1492});# 17 x23:bat[:any,:any] := ALGjoinPath(x21:bat[:oid,:oid], x12:bat[:oid,:oid], x16:bat[:oid,:int]) {G} x24 := sql.resultSet(2,1,x22); # 18 x24:void := MDBdummy(_15:int, _4:int, x22:bat[:any,:any]) {G} sql.rsColumn(x24,"sys.y","i","int",32,0,x22);# 19 _33:void := MDBdummy(x24:void, _34:str, _8:str, _35:str, _36:int, _9:int, x22:bat[:any,:any]) {G} sql.rsColumn(x24,"sys.y","j","int",32,0,x23);# 20 _37:void := MDBdummy(x24:void, _34:str, _19:str, _35:str, _36:int, _9:int, x23:bat[:any,:any]) {G} diff --git a/monetdb5/optimizer/Tests/partitions04.stable.out b/monetdb5/optimizer/Tests/partitions04.stable.out --- a/monetdb5/optimizer/Tests/partitions04.stable.out +++ b/monetdb5/optimizer/Tests/partitions04.stable.out @@ -41,27 +41,27 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {notnil=true,rows=1,bid=2199} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} - x6:bat[:oid,:int] {notnil=true,rows=0,bid=2481} := sql.bind("sys","t","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} - bpm10:bat[:oid,:int] := bpm.unfold(x6{notnil=true,rows=0,bid=2481});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {notnil=true, rows=1, bid=2199} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} + x6:bat[:oid,:int] {notnil=true, rows=0, bid=2481} := sql.bind("sys","t","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} + bpm10:bat[:oid,:int] := bpm.unfold(x6{notnil=true, rows=0, bid=2481});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} bpm.emptySet(bpm10); # 4 _12:void := BPMemptySet(bpm10:bat[:oid,:int]) {G} - x8:bat[:oid,:int] {notnil=true,rows=0,bid=2480} := sql.bind("sys","t","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} - bpm13:bat[:oid,:int] := bpm.unfold(x8{notnil=true,rows=0,bid=2480});# 6 bpm13:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} + x8:bat[:oid,:int] {notnil=true, rows=0, bid=2480} := sql.bind("sys","t","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} + bpm13:bat[:oid,:int] := bpm.unfold(x8{notnil=true, rows=0, bid=2480});# 6 bpm13:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} bpm.emptySet(bpm13); # 7 _16:void := BPMemptySet(bpm13:bat[:oid,:int]) {G} - x13:bat[:oid,:int] {notnil=true,rows=1,bid=2201} := sql.bind("sys","t","j",1);# 8 x13:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _4:int) {G} - bpm17:bat[:oid,:int] := bpm.unfold(x13{notnil=true,rows=1,bid=2201});# 9 bpm17:bat[:oid,:int] := BPMunfold(x13:bat[:oid,:int]) {G} - x11{rows=1} := algebra.markT(x1{notnil=true,rows=1,bid=2199},0@0);# 10 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _21:oid) {G} + x13:bat[:oid,:int] {notnil=true, rows=1, bid=2201} := sql.bind("sys","t","j",1);# 8 x13:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _4:int) {G} + bpm17:bat[:oid,:int] := bpm.unfold(x13{notnil=true, rows=1, bid=2201});# 9 bpm17:bat[:oid,:int] := BPMunfold(x13:bat[:oid,:int]) {G} + x11{rows=1} := algebra.markT(x1{notnil=true, rows=1, bid=2199},0@0);# 10 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _21:oid) {G} x12{rows=1} := bat.reverse(x11{rows=1});# 11 x12:bat[:oid,:oid] := BKCreverse(x11:bat[:oid,:oid]) {G} X_40 := bpm.new(:oid,:int); # 12 _40:bat[:oid,:int] := BPMnew(_41:oid, _42:int) {G} x15{rows=1} := nil:bat[:oid,:int]; # 13 x15:bat[:oid,:int] := _44:bat[:oid,:int] {G} -barrier x13:bat[:oid,:int] {notnil=true,rows=1,bid=2201} := bpm.newIterator(bpm17);# 14 x13:bat[:oid,:int] := BPMnewIterator(bpm17:bat[:oid,:int]) {GJ18} - x15{rows=1} := algebra.join(x12{rows=1},x13{notnil=true,rows=1,bid=2201});# 15 x15:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x13:bat[:oid,:int]) {G} +barrier x13:bat[:oid,:int] {notnil=true, rows=1, bid=2201} := bpm.newIterator(bpm17);# 14 x13:bat[:oid,:int] := BPMnewIterator(bpm17:bat[:oid,:int]) {GJ18} + x15{rows=1} := algebra.join(x12{rows=1},x13{notnil=true, rows=1, bid=2201});# 15 x15:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x13:bat[:oid,:int]) {G} bpm.addPartition(X_40,x15{rows=1}); # 16 _46:void := BPMaddPartition(_40:bat[:oid,:int], x15:bat[:oid,:int]) {G} - redo x13:bat[:oid,:int] {notnil=true,rows=1,bid=2201} := bpm.hasMoreElements(bpm17);# 17 x13:bat[:oid,:int] := BPMhasMoreElements(bpm17:bat[:oid,:int]) {GJ15} -exit x13:bat[:oid,:int] {notnil=true,rows=1,bid=2201};# 18 x13:bat[:oid,:int] + redo x13:bat[:oid,:int] {notnil=true, rows=1, bid=2201} := bpm.hasMoreElements(bpm17);# 17 x13:bat[:oid,:int] := BPMhasMoreElements(bpm17:bat[:oid,:int]) {GJ15} +exit x13:bat[:oid,:int] {notnil=true, rows=1, bid=2201};# 18 x13:bat[:oid,:int] x15{rows=1} := bpm.fold(X_40); # 19 x15:bat[:oid,:int] := BPMfold(_40:bat[:oid,:int]) {G} x16{rows=1} := algebra.sortTail(x15{rows=1});# 20 x16:bat[:oid,:int] := ALGtsort(x15:bat[:oid,:int]) {G} - x17{rows=1} := algebra.join(x12{rows=1},x1{notnil=true,rows=1,bid=2199});# 21 x17:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x17{rows=1} := algebra.join(x12{rows=1},x1{notnil=true, rows=1, bid=2199});# 21 x17:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} x18 := sql.resultSet(2,1,x16{rows=1});# 22 x18:void := MDBdummy(_15:int, _4:int, x16:bat[:oid,:int]) {G} sql.rsColumn(x18,"sys.t","i","int",32,0,x17{rows=1});# 23 _27:void := MDBdummy(x18:void, _28:str, _8:str, _29:str, _30:int, _9:int, x17:bat[:oid,:int]) {G} sql.rsColumn(x18,"sys.t","j","int",32,0,x15{rows=1});# 24 _31:void := MDBdummy(x18:void, _28:str, _19:str, _29:str, _30:int, _9:int, x15:bat[:oid,:int]) {G} diff --git a/monetdb5/optimizer/Tests/partitions05.stable.out b/monetdb5/optimizer/Tests/partitions05.stable.out --- a/monetdb5/optimizer/Tests/partitions05.stable.out +++ b/monetdb5/optimizer/Tests/partitions05.stable.out @@ -41,26 +41,26 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {notnil=true,rows=1,bid=2199} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} - x10:bat[:oid,:int] {notnil=true,rows=0,bid=2653} := sql.bind("sys","t","i",1);# 2 x10:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} - bpm10:bat[:oid,:int] := bpm.unfold(x10{notnil=true,rows=0,bid=2653});# 3 bpm10:bat[:oid,:int] := BPMunfold(x10:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {notnil=true, rows=1, bid=2199} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} + x10:bat[:oid,:int] {notnil=true, rows=0, bid=2653} := sql.bind("sys","t","i",1);# 2 x10:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _4:int) {G} + bpm10:bat[:oid,:int] := bpm.unfold(x10{notnil=true, rows=0, bid=2653});# 3 bpm10:bat[:oid,:int] := BPMunfold(x10:bat[:oid,:int]) {G} bpm.emptySet(bpm10); # 4 _12:void := BPMemptySet(bpm10:bat[:oid,:int]) {G} - x12:bat[:oid,:int] {notnil=true,rows=0,bid=2654} := sql.bind("sys","t","i",2);# 5 x12:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} - bpm13:bat[:oid,:int] := bpm.unfold(x12{notnil=true,rows=0,bid=2654});# 6 bpm13:bat[:oid,:int] := BPMunfold(x12:bat[:oid,:int]) {G} + x12:bat[:oid,:int] {notnil=true, rows=0, bid=2654} := sql.bind("sys","t","i",2);# 5 x12:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _15:int) {G} + bpm13:bat[:oid,:int] := bpm.unfold(x12{notnil=true, rows=0, bid=2654});# 6 bpm13:bat[:oid,:int] := BPMunfold(x12:bat[:oid,:int]) {G} bpm.emptySet(bpm13); # 7 _16:void := BPMemptySet(bpm13:bat[:oid,:int]) {G} - x17:bat[:oid,:int] {notnil=true,rows=1,bid=2201} := sql.bind("sys","t","j",1);# 8 x17:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _4:int) {G} - bpm17:bat[:oid,:int] := bpm.unfold(x17{notnil=true,rows=1,bid=2201});# 9 bpm17:bat[:oid,:int] := BPMunfold(x17:bat[:oid,:int]) {G} - x7{rows=1} := algebra.uselect(x1{notnil=true,rows=1,bid=2199},nil:int,2,false,false);# 10 x7:bat[:oid,:void] := ALGuselectInclusive(x1:bat[:oid,:int], _21:int, _15:int, _22:bit, _22:bit) {G} + x17:bat[:oid,:int] {notnil=true, rows=1, bid=2201} := sql.bind("sys","t","j",1);# 8 x17:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _19:str, _4:int) {G} + bpm17:bat[:oid,:int] := bpm.unfold(x17{notnil=true, rows=1, bid=2201});# 9 bpm17:bat[:oid,:int] := BPMunfold(x17:bat[:oid,:int]) {G} + x7{rows=1} := algebra.uselect(x1{notnil=true, rows=1, bid=2199},nil:int,2,false,false);# 10 x7:bat[:oid,:void] := ALGuselectInclusive(x1:bat[:oid,:int], _21:int, _15:int, _22:bit, _22:bit) {G} x14{rows=1} := algebra.markT(x7{rows=1},0@0);# 11 x14:bat[:oid,:oid] := ALGtmark(x7:bat[:oid,:void], _24:oid) {G} x15{rows=1} := bat.reverse(x14{rows=1});# 12 x15:bat[:oid,:oid] := BKCreverse(x14:bat[:oid,:oid]) {G} - x16{rows=1} := algebra.join(x15{rows=1},x1{notnil=true,rows=1,bid=2199});# 13 x16:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x16{rows=1} := algebra.join(x15{rows=1},x1{notnil=true, rows=1, bid=2199});# 13 x16:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x1:bat[:oid,:int]) {G} X_43 := bpm.new(:oid,:int); # 14 _43:bat[:oid,:int] := BPMnew(_44:oid, _45:int) {G} x19{rows=1} := nil:bat[:oid,:int]; # 15 x19:bat[:oid,:int] := _47:bat[:oid,:int] {G} -barrier x17:bat[:oid,:int] {notnil=true,rows=1,bid=2201} := bpm.newIterator(bpm17);# 16 x17:bat[:oid,:int] := BPMnewIterator(bpm17:bat[:oid,:int]) {GJ20} - x19{rows=1} := algebra.join(x15{rows=1},x17{notnil=true,rows=1,bid=2201});# 17 x19:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x17:bat[:oid,:int]) {G} +barrier x17:bat[:oid,:int] {notnil=true, rows=1, bid=2201} := bpm.newIterator(bpm17);# 16 x17:bat[:oid,:int] := BPMnewIterator(bpm17:bat[:oid,:int]) {GJ20} + x19{rows=1} := algebra.join(x15{rows=1},x17{notnil=true, rows=1, bid=2201});# 17 x19:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x17:bat[:oid,:int]) {G} bpm.addPartition(X_43,x19{rows=1}); # 18 _49:void := BPMaddPartition(_43:bat[:oid,:int], x19:bat[:oid,:int]) {G} - redo x17:bat[:oid,:int] {notnil=true,rows=1,bid=2201} := bpm.hasMoreElements(bpm17);# 19 x17:bat[:oid,:int] := BPMhasMoreElements(bpm17:bat[:oid,:int]) {GJ17} -exit x17:bat[:oid,:int] {notnil=true,rows=1,bid=2201};# 20 x17:bat[:oid,:int] + redo x17:bat[:oid,:int] {notnil=true, rows=1, bid=2201} := bpm.hasMoreElements(bpm17);# 19 x17:bat[:oid,:int] := BPMhasMoreElements(bpm17:bat[:oid,:int]) {GJ17} +exit x17:bat[:oid,:int] {notnil=true, rows=1, bid=2201};# 20 x17:bat[:oid,:int] x19{rows=1} := bpm.fold(X_43); # 21 x19:bat[:oid,:int] := BPMfold(_43:bat[:oid,:int]) {G} x20:bat[:oid,:int] {rows=1} := batcalc.+(x16{rows=1},x19{rows=1});# 22 x20:bat[:oid,:int] := CMDbatADD_int_int_int(x16:bat[:oid,:int], x19:bat[:oid,:int]) {G} x21 := sql.resultSet(1,1,x20{rows=1});# 23 x21:void := MDBdummy(_4:int, _4:int, x20:bat[:oid,:int]) {G} diff --git a/monetdb5/optimizer/Tests/partitions06.stable.out b/monetdb5/optimizer/Tests/partitions06.stable.out --- a/monetdb5/optimizer/Tests/partitions06.stable.out +++ b/monetdb5/optimizer/Tests/partitions06.stable.out @@ -42,26 +42,26 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {notnil=true,rows=1:lng,bid=769} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} - x10:bat[:oid,:int] {notnil=true,rows=0:lng,bid=765} := sql.bind("sys","t","i",1);# 2 x10:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _13:int) {G} - bpm10:bat[:oid,:int] := bpm.unfold(x10{notnil=true,rows=0:lng,bid=765});# 3 bpm10:bat[:oid,:int] := BPMunfold(x10:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {notnil=true, rows=1:lng, bid=769} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} + x10:bat[:oid,:int] {notnil=true, rows=0:lng, bid=765} := sql.bind("sys","t","i",1);# 2 x10:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _13:int) {G} + bpm10:bat[:oid,:int] := bpm.unfold(x10{notnil=true, rows=0:lng, bid=765});# 3 bpm10:bat[:oid,:int] := BPMunfold(x10:bat[:oid,:int]) {G} bpm.emptySet(bpm10); # 4 _14:void := BPMemptySet(bpm10:bat[:oid,:int]) {G} - x12:bat[:oid,:int] {notnil=true,rows=0:lng,bid=771} := sql.bind("sys","t","i",2);# 5 x12:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _17:int) {G} - bpm15:bat[:oid,:int] := bpm.unfold(x12{notnil=true,rows=0:lng,bid=771});# 6 bpm15:bat[:oid,:int] := BPMunfold(x12:bat[:oid,:int]) {G} + x12:bat[:oid,:int] {notnil=true, rows=0:lng, bid=771} := sql.bind("sys","t","i",2);# 5 x12:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _17:int) {G} + bpm15:bat[:oid,:int] := bpm.unfold(x12{notnil=true, rows=0:lng, bid=771});# 6 bpm15:bat[:oid,:int] := BPMunfold(x12:bat[:oid,:int]) {G} bpm.emptySet(bpm15); # 7 _18:void := BPMemptySet(bpm15:bat[:oid,:int]) {G} - x17:bat[:oid,:int] {notnil=true,rows=1:lng,bid=772} := sql.bind("sys","t","j",1);# 8 x17:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _21:str, _13:int) {G} - bpm19:bat[:oid,:int] := bpm.unfold(x17{notnil=true,rows=1:lng,bid=772});# 9 bpm19:bat[:oid,:int] := BPMunfold(x17:bat[:oid,:int]) {G} - x7{rows=1:lng} := algebra.uselect(x1{notnil=true,rows=1:lng,bid=769},nil:int,2,false,false);# 10 x7:bat[:oid,:void] := ALGuselectInclusive(x1:bat[:oid,:int], _23:int, _17:int, _24:bit, _24:bit) {G} + x17:bat[:oid,:int] {notnil=true, rows=1:lng, bid=772} := sql.bind("sys","t","j",1);# 8 x17:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _21:str, _13:int) {G} + bpm19:bat[:oid,:int] := bpm.unfold(x17{notnil=true, rows=1:lng, bid=772});# 9 bpm19:bat[:oid,:int] := BPMunfold(x17:bat[:oid,:int]) {G} + x7{rows=1:lng} := algebra.uselect(x1{notnil=true, rows=1:lng, bid=769},nil:int,2,false,false);# 10 x7:bat[:oid,:void] := ALGuselectInclusive(x1:bat[:oid,:int], _23:int, _17:int, _24:bit, _24:bit) {G} x14{rows=1:lng} := algebra.markT(x7{rows=1:lng},0@0);# 11 x14:bat[:oid,:oid] := ALGtmark(x7:bat[:oid,:void], _26:oid) {G} x15{rows=1:lng} := bat.reverse(x14{rows=1:lng});# 12 x15:bat[:oid,:oid] := BKCreverse(x14:bat[:oid,:oid]) {G} - x16{rows=1:lng} := algebra.join(x15{rows=1:lng},x1{notnil=true,rows=1:lng,bid=769});# 13 x16:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x16{rows=1:lng} := algebra.join(x15{rows=1:lng},x1{notnil=true, rows=1:lng, bid=769});# 13 x16:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x1:bat[:oid,:int]) {G} X_45 := bpm.new(:oid,:int); # 14 _45:bat[:oid,:int] := BPMnew(_46:oid, _47:int) {G} x19{rows=1:lng} := nil:bat[:oid,:int];# 15 x19:bat[:oid,:int] := _49:bat[:oid,:int] {G} -barrier x17:bat[:oid,:int] {notnil=true,rows=1:lng,bid=772} := bpm.newIterator(bpm19);# 16 x17:bat[:oid,:int] := BPMnewIterator(bpm19:bat[:oid,:int]) {GJ20} - x19{rows=1:lng} := algebra.join(x15{rows=1:lng},x17{notnil=true,rows=1:lng,bid=772});# 17 x19:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x17:bat[:oid,:int]) {G} +barrier x17:bat[:oid,:int] {notnil=true, rows=1:lng, bid=772} := bpm.newIterator(bpm19);# 16 x17:bat[:oid,:int] := BPMnewIterator(bpm19:bat[:oid,:int]) {GJ20} + x19{rows=1:lng} := algebra.join(x15{rows=1:lng},x17{notnil=true, rows=1:lng, bid=772});# 17 x19:bat[:oid,:int] := ALGjoin(x15:bat[:oid,:oid], x17:bat[:oid,:int]) {G} bpm.addPartition(X_45,x19{rows=1:lng});# 18 _51:void := BPMaddPartition(_45:bat[:oid,:int], x19:bat[:oid,:int]) {G} - redo x17:bat[:oid,:int] {notnil=true,rows=1:lng,bid=772} := bpm.hasMoreElements(bpm19);# 19 x17:bat[:oid,:int] := BPMhasMoreElements(bpm19:bat[:oid,:int]) {GJ17} -exit x17:bat[:oid,:int] {notnil=true,rows=1:lng,bid=772};# 20 x17:bat[:oid,:int] + redo x17:bat[:oid,:int] {notnil=true, rows=1:lng, bid=772} := bpm.hasMoreElements(bpm19);# 19 x17:bat[:oid,:int] := BPMhasMoreElements(bpm19:bat[:oid,:int]) {GJ17} +exit x17:bat[:oid,:int] {notnil=true, rows=1:lng, bid=772};# 20 x17:bat[:oid,:int] x19{rows=1:lng} := bpm.fold(X_45); # 21 x19:bat[:oid,:int] := BPMfold(_45:bat[:oid,:int]) {G} x20:bat[:oid,:int] {rows=1:lng} := batcalc.+(x16{rows=1:lng},x19{rows=1:lng});# 22 x20:bat[:oid,:int] := CMDbatADD_int_int_int(x16:bat[:oid,:int], x19:bat[:oid,:int]) {G} x20:bat[:oid,:int] {rows=1:lng} := batcalc.+(x20{rows=1:lng},x16{rows=1:lng});# 23 x20:bat[:oid,:int] := CMDbatADD_int_int_int(x20:bat[:oid,:int], x16:bat[:oid,:int]) {G} diff --git a/monetdb5/optimizer/Tests/partitions07.stable.out b/monetdb5/optimizer/Tests/partitions07.stable.out --- a/monetdb5/optimizer/Tests/partitions07.stable.out +++ b/monetdb5/optimizer/Tests/partitions07.stable.out @@ -48,16 +48,16 @@ mdb.List("sql","query"); end main; function sql.query(A0:sht):void; # 0 query:void := sql.query(A0:sht) {G} - x1:bat[:oid,:int] {notnil=true,rows=1:lng,bid=769} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} - x6:bat[:oid,:int] {notnil=true,rows=0:lng,bid=1435} := sql.bind("sys","t","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _13:int) {G} - bpm10:bat[:oid,:int] := bpm.unfold(x6{notnil=true,rows=0:lng,bid=1435});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} + x1:bat[:oid,:int] {notnil=true, rows=1:lng, bid=769} := sql.bind("sys","t","i",0);# 1 x1:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _9:int) {G} + x6:bat[:oid,:int] {notnil=true, rows=0:lng, bid=1435} := sql.bind("sys","t","i",1);# 2 x6:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _13:int) {G} + bpm10:bat[:oid,:int] := bpm.unfold(x6{notnil=true, rows=0:lng, bid=1435});# 3 bpm10:bat[:oid,:int] := BPMunfold(x6:bat[:oid,:int]) {G} bpm.emptySet(bpm10); # 4 _14:void := BPMemptySet(bpm10:bat[:oid,:int]) {G} - x8:bat[:oid,:int] {notnil=true,rows=0:lng,bid=1436} := sql.bind("sys","t","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _17:int) {G} - bpm15:bat[:oid,:int] := bpm.unfold(x8{notnil=true,rows=0:lng,bid=1436});# 6 bpm15:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} + x8:bat[:oid,:int] {notnil=true, rows=0:lng, bid=1436} := sql.bind("sys","t","i",2);# 5 x8:bat[:oid,:int] := MDBdummy(_6:str, _7:str, _8:str, _17:int) {G} + bpm15:bat[:oid,:int] := bpm.unfold(x8{notnil=true, rows=0:lng, bid=1436});# 6 bpm15:bat[:oid,:int] := BPMunfold(x8:bat[:oid,:int]) {G} bpm.emptySet(bpm15); # 7 _18:void := BPMemptySet(bpm15:bat[:oid,:int]) {G} - x11{rows=1:lng} := algebra.markT(x1{notnil=true,rows=1:lng,bid=769},0@0);# 8 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _20:oid) {G} + x11{rows=1:lng} := algebra.markT(x1{notnil=true, rows=1:lng, bid=769},0@0);# 8 x11:bat[:oid,:oid] := ALGtmark(x1:bat[:oid,:int], _20:oid) {G} x12{rows=1:lng} := bat.reverse(x11{rows=1:lng});# 9 x12:bat[:oid,:oid] := BKCreverse(x11:bat[:oid,:oid]) {G} - x13{rows=1:lng} := algebra.join(x12{rows=1:lng},x1{notnil=true,rows=1:lng,bid=769});# 10 x13:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} + x13{rows=1:lng} := algebra.join(x12{rows=1:lng},x1{notnil=true, rows=1:lng, bid=769});# 10 x13:bat[:oid,:int] := ALGjoin(x12:bat[:oid,:oid], x1:bat[:oid,:int]) {G} x14{rows=1:lng} := batcalc.flt(x13{rows=1:lng});# 11 x14:bat[:oid,:flt] := batint_2_flt(x13:bat[:oid,:int]) {G} x31 := bat.new(nil:oid,nil:flt); # 12 x31:bat[:oid,:flt] := CMDBATnew(_25:oid, _26:flt) {G} barrier (x35,x36,x37) := bat.newIterator(x14{rows=1:lng});# 13 (x35:lng, x36:oid, x37:flt) := CHPbunIterator(x14:bat[:oid,:flt]) {GJ20} _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list