Update of /cvsroot/monetdb/MonetDB5/src/optimizer/Tests
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv13193/src/optimizer/Tests
Modified Files:
CMexample.stable.out ESexample.stable.out
emptyset01.stable.out partitions01.stable.out
partitions02.stable.out partitions03.stable.out
partitions04.stable.out partitions05.stable.out
partitions06.stable.out partitions07.stable.out
tst4730.stable.out
Log Message:
implemented a new property scheme
Index: tst4730.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/tst4730.stable.out,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- tst4730.stable.out 19 May 2007 06:07:43 -0000 1.39
+++ tst4730.stable.out 9 Dec 2007 16:21:18 -0000 1.40
@@ -107,21 +107,21 @@
#exit always;
#end qry1;
factory user.qry1(A0:sht,A1:sht,A2:sht,A3:date,A4:int):bit; # 0
(qry1:bit)<-(A0:sht)(A1:sht)(A2:sht)(A3:date)(A4:int)
- V6:bat[:oid,:date]{rows=1000:lng} :=
user.bind("sys","lineitem","l_shipdate",0); # 1
(V6:bat[:oid,:date])<-(_7:str)(_8:str)(_9:str)(_10:int)
- V11:bat[:oid,:oid]{rows=1000:lng} := user.bind_dbat("sys","lineitem",0);
# 2 (V11:bat[:oid,:oid])<-(_7:str)(_8:str)(_10:int)
- V22:bat[:oid,:bit]{rows=1000:lng} :=
user.bind("sys","lineitem","l_returnflag",0); # 3
(V22:bat[:oid,:bit])<-(_7:str)(_8:str)(_13:str)(_10:int)
- V29:bat[:oid,:bit]{rows=1000:lng} :=
user.bind("sys","lineitem","l_linestatus",0); # 4
(V29:bat[:oid,:bit])<-(_7:str)(_8:str)(_15:str)(_10:int)
- V53:bat[:oid,:int]{rows=1000:lng} :=
user.bind("sys","lineitem","l_quantity",0); # 5
(V53:bat[:oid,:int])<-(_7:str)(_8:str)(_17:str)(_10:int)
- V60:bat[:oid,:flt]{rows=1000:lng} :=
user.bind("sys","lineitem","l_extendedprice",0); # 6
(V60:bat[:oid,:flt])<-(_7:str)(_8:str)(_19:str)(_10:int)
- V75:bat[:oid,:flt]{rows=1000:lng} :=
user.bind("sys","lineitem","l_discount",0); # 7
(V75:bat[:oid,:flt])<-(_7:str)(_8:str)(_21:str)(_10:int)
- V105:bat[:oid,:flt]{rows=1000:lng} :=
user.bind("sys","lineitem","l_tax",0); # 8
(V105:bat[:oid,:flt])<-(_7:str)(_8:str)(_23:str)(_10:int)
-barrier always := true; # 9 (always:bit)<-(_25:bit) jump 72
+ V6:bat[:oid,:date]{rows=1000:lng} :=
user.bind("sys","lineitem","l_shipdate",0); # 1
(V6:bat[:oid,:date])<-(_8:str)(_9:str)(_10:str)(_11:int)
+ V11:bat[:oid,:oid]{rows=1000:lng} := user.bind_dbat("sys","lineitem",0);
# 2 (V11:bat[:oid,:oid])<-(_8:str)(_9:str)(_11:int)
+ V22:bat[:oid,:bit]{rows=1000:lng} :=
user.bind("sys","lineitem","l_returnflag",0); # 3
(V22:bat[:oid,:bit])<-(_8:str)(_9:str)(_14:str)(_11:int)
+ V29:bat[:oid,:bit]{rows=1000:lng} :=
user.bind("sys","lineitem","l_linestatus",0); # 4
(V29:bat[:oid,:bit])<-(_8:str)(_9:str)(_16:str)(_11:int)
+ V53:bat[:oid,:int]{rows=1000:lng} :=
user.bind("sys","lineitem","l_quantity",0); # 5
(V53:bat[:oid,:int])<-(_8:str)(_9:str)(_18:str)(_11:int)
+ V60:bat[:oid,:flt]{rows=1000:lng} :=
user.bind("sys","lineitem","l_extendedprice",0); # 6
(V60:bat[:oid,:flt])<-(_8:str)(_9:str)(_20:str)(_11:int)
+ V75:bat[:oid,:flt]{rows=1000:lng} :=
user.bind("sys","lineitem","l_discount",0); # 7
(V75:bat[:oid,:flt])<-(_8:str)(_9:str)(_22:str)(_11:int)
+ V105:bat[:oid,:flt]{rows=1000:lng} :=
user.bind("sys","lineitem","l_tax",0); # 8
(V105:bat[:oid,:flt])<-(_8:str)(_9:str)(_24:str)(_11:int)
+barrier always := true; # 9 (always:bit)<-(_26:bit) jump 72
V12 := bat.reverse(V11); # 10 BKCreverse
(V12:bat[:oid,:oid])<-(V11:bat[:oid,:oid])
V13 := algebra.kdifference(V6,V12); # 11 ALGkdiff
(V13:bat[:oid,:date])<-(V6:bat[:oid,:date])(V12:bat[:oid,:oid])
V16 := mtime.date_sub_sec_interval(A3,A4); # 12
MTIMEdate_sub_sec_interval_wrap (V16:date)<-(A3:date)(A4:int)
- a := mtime.date(nil:void); # 13 MTIMEnil2date (a:date)<-(_30:void)
+ a := mtime.date(nil:void); # 13 MTIMEnil2date (a:date)<-(_31:void)
V17 := algebra.uselect(V13,a,V16); # 14 ALGuselect
(V17:bat[:oid,:oid])<-(V13:bat[:oid,:date])(a:date)(V16:date)
- V20 := algebra.markT(V17,[EMAIL PROTECTED]); # 15 ALGtmark
(V20:bat[:oid,:oid])<-(V17:bat[:oid,:oid])(_33:oid)
+ V20 := algebra.markT(V17,[EMAIL PROTECTED]); # 15 ALGtmark
(V20:bat[:oid,:oid])<-(V17:bat[:oid,:oid])(_34:oid)
V21 := bat.reverse(V20); # 16 BKCreverse
(V21:bat[:oid,:oid])<-(V20:bat[:oid,:oid])
V26 := algebra.kdifference(V22,V12); # 17 ALGkdiff
(V26:bat[:oid,:bit])<-(V22:bat[:oid,:bit])(V12:bat[:oid,:oid])
V27 := algebra.join(V21,V26); # 18 ALGjoin
(V27:bat[:oid,:bit])<-(V21:bat[:oid,:oid])(V26:bat[:oid,:bit])
@@ -142,28 +142,28 @@
V65 := algebra.join(V21,V64); # 33 ALGjoin
(V65:bat[:oid,:flt])<-(V21:bat[:oid,:oid])(V64:bat[:oid,:flt])
V66 := aggr.sum(V65,V35,V37); # 34 AX3aggrX3_sum3_flt_dbl
(V66:bat[:oid,:dbl])<-(V65:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
V72 := calc.lng(A0); # 35 CALCsht2lng (V72:lng)<-(A0:sht)
- V74 := calc.*(V72,100); # 36 CALCbinaryMULlngint
(V74:lng)<-(V72:lng)(_57:int)
+ V74 := calc.*(V72,100); # 36 CALCbinaryMULlngint
(V74:lng)<-(V72:lng)(_58:int)
V82 := algebra.kdifference(V75,V12); # 37 ALGkdiff
(V82:bat[:oid,:flt])<-(V75:bat[:oid,:flt])(V12:bat[:oid,:oid])
V83 := algebra.join(V21,V82); # 38 ALGjoin
(V83:bat[:oid,:flt])<-(V21:bat[:oid,:oid])(V82:bat[:oid,:flt])
- V84:bat[:oid,:flt] := mal.multiplex("calc.-",V74,V83); # 39
OPTremapMultiplex (V84:bat[:oid,:flt])<-(_61:str)(V74:lng)(V83:bat[:oid,:flt])
+ V84:bat[:oid,:flt] := mal.multiplex("calc.-",V74,V83); # 39
OPTremapMultiplex (V84:bat[:oid,:flt])<-(_62:str)(V74:lng)(V83:bat[:oid,:flt])
V86 := batcalc.*(V65,V84); # 40 CMDbatMUL_flt_flt_flt
(V86:bat[:oid,:flt])<-(V65:bat[:oid,:flt])(V84:bat[:oid,:flt])
V88 := aggr.sum(V86,V35,V37); # 41 AX3aggrX3_sum3_flt_dbl
(V88:bat[:oid,:dbl])<-(V86:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
V94 := calc.lng(A1); # 42 CALCsht2lng (V94:lng)<-(A1:sht)
- V95 := calc.*(V94,100); # 43 CALCbinaryMULlngint
(V95:lng)<-(V94:lng)(_57:int)
- V100:bat[:oid,:flt] := mal.multiplex("calc.-",V95,V83); # 44
OPTremapMultiplex (V100:bat[:oid,:flt])<-(_61:str)(V95:lng)(V83:bat[:oid,:flt])
+ V95 := calc.*(V94,100); # 43 CALCbinaryMULlngint
(V95:lng)<-(V94:lng)(_58:int)
+ V100:bat[:oid,:flt] := mal.multiplex("calc.-",V95,V83); # 44
OPTremapMultiplex (V100:bat[:oid,:flt])<-(_62:str)(V95:lng)(V83:bat[:oid,:flt])
V101 := batcalc.*(V65,V100); # 45 CMDbatMUL_flt_flt_flt
(V101:bat[:oid,:flt])<-(V65:bat[:oid,:flt])(V100:bat[:oid,:flt])
V103 := calc.lng(A2); # 46 CALCsht2lng (V103:lng)<-(A2:sht)
- V104 := calc.*(V103,100); # 47 CALCbinaryMULlngint
(V104:lng)<-(V103:lng)(_57:int)
+ V104 := calc.*(V103,100); # 47 CALCbinaryMULlngint
(V104:lng)<-(V103:lng)(_58:int)
V109 := algebra.kdifference(V105,V12); # 48 ALGkdiff
(V109:bat[:oid,:flt])<-(V105:bat[:oid,:flt])(V12:bat[:oid,:oid])
V110 := algebra.join(V21,V109); # 49 ALGjoin
(V110:bat[:oid,:flt])<-(V21:bat[:oid,:oid])(V109:bat[:oid,:flt])
- V111:bat[:oid,:flt] := mal.multiplex("calc.+",V104,V110); # 50
OPTremapMultiplex
(V111:bat[:oid,:flt])<-(_73:str)(V104:lng)(V110:bat[:oid,:flt])
+ V111:bat[:oid,:flt] := mal.multiplex("calc.+",V104,V110); # 50
OPTremapMultiplex
(V111:bat[:oid,:flt])<-(_74:str)(V104:lng)(V110:bat[:oid,:flt])
V113 := batcalc.*(V101,V111); # 51 CMDbatMUL_flt_flt_flt
(V113:bat[:oid,:flt])<-(V101:bat[:oid,:flt])(V111:bat[:oid,:flt])
V114 := aggr.sum(V113,V35,V37); # 52 AX3aggrX3_sum3_flt_dbl
(V114:bat[:oid,:dbl])<-(V113:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
V122 := aggr.avg(V58,V35,V37); # 53 AX3aggrX3_avg3_int
(V122:bat[:oid,:dbl])<-(V58:bat[:oid,:int])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
V127 := aggr.avg(V65,V35,V37); # 54 AX3aggrX3_avg3_flt
(V127:bat[:oid,:dbl])<-(V65:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
- V129 := mal.multiplex("calc.round",V127,100); # 55 OPTremapMultiplex
(V129:any)<-(_79:str)(V127:bat[:oid,:dbl])(_57:int)
+ V129 := mal.multiplex("calc.round",V127,100); # 55 OPTremapMultiplex
(V129:any)<-(_80:str)(V127:bat[:oid,:dbl])(_58:int)
V135 := aggr.avg(V83,V35,V37); # 56 AX3aggrX3_avg3_flt
(V135:bat[:oid,:dbl])<-(V83:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
- V136 := mal.multiplex("calc.round",V135,100); # 57 OPTremapMultiplex
(V136:any)<-(_79:str)(V135:bat[:oid,:dbl])(_57:int)
+ V136 := mal.multiplex("calc.round",V135,100); # 57 OPTremapMultiplex
(V136:any)<-(_80:str)(V135:bat[:oid,:dbl])(_58:int)
V137 := aggr.count(V35,V35,V37); # 58 AX3aggrX3_count3Nils
(V137:bat[:oid,:int])<-(V35:bat[:oid,:oid])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])
#sql.column(V42,"l_returnflag","varchar",1,0); # 59 (_83:str)
#sql.column(V51,"l_linestatus","varchar",1,0); # 60 (_84:str)
Index: emptyset01.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/emptyset01.stable.out,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- emptyset01.stable.out 19 May 2007 06:07:43 -0000 1.2
+++ emptyset01.stable.out 9 Dec 2007 16:21:16 -0000 1.3
@@ -48,9 +48,9 @@
V12 := algebra.kdifference(V7,V11); # 5 ALGkdiff
(V12:bat[:oid,:int])<-(V7:bat[:oid,:int])(V11:bat[:oid,:int])
V16 := algebra.markT(V12); # 6 ALGtmark_default
(V16:bat[:oid,:oid])<-(V12:bat[:oid,:int])
V17 := algebra.join(V16,V7); # 7 ALGjoin
(V17:bat[:oid,:int])<-(V16:bat[:oid,:oid])(V7:bat[:oid,:int])
- bat.append(V1,V17); # 8 BKCappend_wrap
(_10:void)<-(V1:bat[:oid,:int])(V17:bat[:oid,:int])
- user.do(V1); # 9 (_11:void)<-(V1:bat[:oid,:int])
- io.print("done"); # 10 IOprint_val (_12:void)<-(_13:str)
+ bat.append(V1,V17); # 8 BKCappend_wrap
(_11:void)<-(V1:bat[:oid,:int])(V17:bat[:oid,:int])
+ user.do(V1); # 9 (_12:void)<-(V1:bat[:oid,:int])
+ io.print("done"); # 10 IOprint_val (_13:void)<-(_14:str)
end tst; # 11
# optimizer.inline("user","tst");
# optimizer.costModel("user","tst");
@@ -69,15 +69,15 @@
V12 := V7; # 5 (V12:bat[:oid,:int])<-(V7:bat[:oid,:int])
V16 := algebra.markT(V12); # 6 ALGtmark_default
(V16:bat[:oid,:oid])<-(V12:bat[:oid,:int])
V17 := algebra.join(V16,V7); # 7 ALGjoin
(V17:bat[:oid,:int])<-(V16:bat[:oid,:oid])(V7:bat[:oid,:int])
- bat.append(V1,V17); # 8 BKCappend_wrap
(_10:void)<-(V1:bat[:oid,:int])(V17:bat[:oid,:int])
- nil:void; # 9 (_11:void)<-(_23:void)
-barrier (_16,_17,_18):= bat.newIterator(V1); # 10 CHPbunIterator
(_16:lng)(_17:oid)(_18:int)<-(V1:bat[:oid,:int]) jump 15
- io.print("loop"); # 11 IOprint_val (_19:void)<-(_20:str)
+ bat.append(V1,V17); # 8 BKCappend_wrap
(_11:void)<-(V1:bat[:oid,:int])(V17:bat[:oid,:int])
+ nil:void; # 9 (_12:void)<-(_24:void)
+barrier (_17,_18,_19):= bat.newIterator(V1); # 10 CHPbunIterator
(_17:lng)(_18:oid)(_19:int)<-(V1:bat[:oid,:int]) jump 15
+ io.print("loop"); # 11 IOprint_val (_20:void)<-(_21:str)
catch MALException:str ; # 12 (MALException:str) jump 14
- io.print(MALException); # 13 IOprint_val (_22:void)<-(MALException:str)
+ io.print(MALException); # 13 IOprint_val (_23:void)<-(MALException:str)
exit MALException:str ; # 14 (MALException:str)
-exit (_16,_17,_18); # 15 (_16:lng)(_17:oid)(_18:int)
- io.print("done"); # 16 IOprint_val (_12:void)<-(_13:str)
+exit (_17,_18,_19); # 15 (_17:lng)(_18:oid)(_19:int)
+ io.print("done"); # 16 IOprint_val (_13:void)<-(_14:str)
end tst; # 17
# 08:05:29 >
Index: partitions06.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions06.stable.out,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- partitions06.stable.out 19 Aug 2007 21:02:19 -0000 1.3
+++ partitions06.stable.out 9 Dec 2007 16:21:17 -0000 1.4
@@ -47,23 +47,23 @@
# sql.exportResult(x21,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x10:bat[:oid,:int]{bid=765,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x10:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x10); # 3 CemptySet (_9:void)<-(x10:bat[:oid,:int])
- x12:bat[:oid,:int]{bid=771,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x12:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x12); # 5 CemptySet (_12:void)<-(x12:bat[:oid,:int])
- x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true} :=
sql.bind("sys","t","j",1); # 6 MDBdummy
(x17:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_8:int)
- x7{rows=1:lng} := algebra.uselect(x1,nil:int,2,false,false); # 7
ALGuselectInclusive
(x7:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_16:int)(_11:int)(_17:bit)(_17:bit)
- x14{rows=1:lng} := algebra.markT(x7,[EMAIL PROTECTED]); # 8 ALGtmark
(x14:bat[:oid,:oid])<-(x7:bat[:oid,:oid])(_19:oid)
+ x1:bat[:oid,:int]{notnil=true,rows=1:lng,bid=769} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_9:int)
+ x10:bat[:oid,:int]{notnil=true,rows=0:lng,bid=765} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x10:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_13:int)
+ constraints.emptySet(x10); # 3 CemptySet (_14:void)<-(x10:bat[:oid,:int])
+ x12:bat[:oid,:int]{notnil=true,rows=0:lng,bid=771} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x12:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_17:int)
+ constraints.emptySet(x12); # 5 CemptySet (_18:void)<-(x12:bat[:oid,:int])
+ x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772} :=
sql.bind("sys","t","j",1); # 6 MDBdummy
(x17:bat[:oid,:int])<-(_6:str)(_7:str)(_21:str)(_13:int)
+ x7{rows=1:lng} := algebra.uselect(x1,nil:int,2,false,false); # 7
ALGuselectInclusive
(x7:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_23:int)(_17:int)(_24:bit)(_24:bit)
+ x14{rows=1:lng} := algebra.markT(x7,[EMAIL PROTECTED]); # 8 ALGtmark
(x14:bat[:oid,:oid])<-(x7:bat[:oid,:oid])(_26:oid)
x15{rows=1:lng} := bat.reverse(x14); # 9 BKCreverse
(x15:bat[:oid,:oid])<-(x14:bat[:oid,:oid])
x16{rows=1:lng} := algebra.join(x15,x1); # 10 ALGjoin
(x16:bat[:oid,:int])<-(x15:bat[:oid,:oid])(x1:bat[:oid,:int])
x19{rows=1:lng} := algebra.join(x15,x17); # 11 ALGjoin
(x19:bat[:oid,:int])<-(x15:bat[:oid,:oid])(x17:bat[:oid,:int])
x33 := algebra.reuse(x19); # 12 ALGreuse
(x33:bat[:oid,:int])<-(x19:bat[:oid,:int])
x20:bat[:oid,:int]{rows=1:lng} := batcalc.+(x33,x16,x19); # 13
CMDbataccumADD_int_int_int
(x20:bat[:oid,:int])<-(x33:bat[:oid,:int])(x16:bat[:oid,:int])(x19:bat[:oid,:int])
x20:bat[:oid,:int]{rows=1:lng} := batcalc.+(x20,x20,x16); # 14
CMDbataccumADD_int_int_int
(x20:bat[:oid,:int])<-(x20:bat[:oid,:int])(x20:bat[:oid,:int])(x16:bat[:oid,:int])
- x21 := sql.resultSet(1,1,x20); # 15 MDBdummy
(x21:void)<-(_8:int)(_8:int)(x20:bat[:oid,:int])
- sql.rsColumn(x21,"sys.","sqlxaddxsqlxaddxi","int",32,0,x20); # 16
MDBdummy
(_26:void)<-(x21:void)(_27:str)(_28:str)(_29:str)(_30:int)(_6:int)(x20:bat[:oid,:int])
- sql.exportResult(x21,""); # 17 MDBdummy (_31:void)<-(x21:void)(_32:str)
+ x21 := sql.resultSet(1,1,x20); # 15 MDBdummy
(x21:void)<-(_13:int)(_13:int)(x20:bat[:oid,:int])
+ sql.rsColumn(x21,"sys.","sqlxaddxsqlxaddxi","int",32,0,x20); # 16
MDBdummy
(_33:void)<-(x21:void)(_34:str)(_35:str)(_36:str)(_37:int)(_9:int)(x20:bat[:oid,:int])
+ sql.exportResult(x21,""); # 17 MDBdummy (_38:void)<-(x21:void)(_39:str)
end query; # 18
#optimizer.partitions("sql","query");
#mdb.list("sql","query");
@@ -76,47 +76,47 @@
mdb.list("sql","query"); # 5 MDBlist3 (_8:void)<-(_6:str)(_7:str)
end main; # 6
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} :=
sql.bind("sys","t","i",0);
- x10:bat[:oid,:int]{bid=765,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x10);
- bpm.emptySet(bpm7);
- x12:bat[:oid,:int]{bid=771,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x12);
+ x1:bat[:oid,:int]{notnil=true,rows=1:lng,bid=769} :=
sql.bind("sys","t","i",0);
+ x10:bat[:oid,:int]{notnil=true,rows=0:lng,bid=765} :=
sql.bind("sys","t","i",1);
+ bpm10:bat[:oid,:int] := bpm.unfold(x10);
bpm.emptySet(bpm10);
- x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true} :=
sql.bind("sys","t","j",1);
- bpm13:bat[:oid,:int] := bpm.unfold(x17);
+ x12:bat[:oid,:int]{notnil=true,rows=0:lng,bid=771} :=
sql.bind("sys","t","i",2);
+ bpm15:bat[:oid,:int] := bpm.unfold(x12);
+ bpm.emptySet(bpm15);
+ x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772} :=
sql.bind("sys","t","j",1);
+ bpm19:bat[:oid,:int] := bpm.unfold(x17);
x7{rows=1:lng} := algebra.uselect(x1,nil:int,2,false,false);
x14{rows=1:lng} := algebra.markT(x7,[EMAIL PROTECTED]);
x15{rows=1:lng} := bat.reverse(x14);
x16{rows=1:lng} := algebra.join(x15,x1);
- _39 := bpm.new(:oid,:int);
-barrier x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true} :=
bpm.newIterator(bpm13);
+ _46 := bpm.new(:oid,:int);
+barrier x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772} :=
bpm.newIterator(bpm19);
x19{rows=1:lng} := algebra.join(x15,x17);
- bpm.addPartition(_39,x19);
- redo x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true} :=
bpm.hasMoreElements(bpm13);
-exit x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true} ;
- _45 := bpm.new(:oid,:int);
-barrier x19{rows=1:lng} := bpm.newIterator(_39);
+ bpm.addPartition(_46,x19);
+ redo x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772} :=
bpm.hasMoreElements(bpm19);
+exit x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772} ;
+ _52 := bpm.new(:oid,:int);
+barrier x19{rows=1:lng} := bpm.newIterator(_46);
x33 := algebra.reuse(x19);
- bpm.addPartition(_45,x33);
- redo x19{rows=1:lng} := bpm.hasMoreElements(_39);
+ bpm.addPartition(_52,x33);
+ redo x19{rows=1:lng} := bpm.hasMoreElements(_46);
exit x19{rows=1:lng};
- x33 := bpm.fold(_45);
- x19{rows=1:lng} := bpm.fold(_39);
+ x33 := bpm.fold(_52);
+ x19{rows=1:lng} := bpm.fold(_46);
x20:bat[:oid,:int]{rows=1:lng} := batcalc.+(x33,x16,x19);
x20:bat[:oid,:int]{rows=1:lng} := batcalc.+(x20,x20,x16);
x21 := sql.resultSet(1,1,x20);
sql.rsColumn(x21,"sys.","sqlxaddxsqlxaddxi","int",32,0,x20);
sql.exportResult(x21,"");
catch SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
- bpm.garbage(bpm13);
+ bpm.garbage(bpm15);
+ bpm.garbage(bpm19);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
- bpm.garbage(bpm13);
+ bpm.garbage(bpm15);
+ bpm.garbage(bpm19);
end query;
# 09:41:13 >
Index: partitions01.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions01.stable.out,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- partitions01.stable.out 19 Aug 2007 21:02:18 -0000 1.7
+++ partitions01.stable.out 9 Dec 2007 16:21:16 -0000 1.8
@@ -41,20 +41,20 @@
# sql.exportResult(x22,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{notnil=true,rows=1,bid=812} :=
sql.bind("sys","x","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x6:bat[:oid,:int]{notnil=true,rows=0,bid=808} :=
sql.bind("sys","x","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x6); # 3 CemptySet (_9:void)<-(x6:bat[:oid,:int])
- x9:bat[:oid,:int]{notnil=true,rows=0,bid=814} :=
sql.bind("sys","x","i",2); # 4 MDBdummy
(x9:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x9); # 5 CemptySet (_12:void)<-(x9:bat[:oid,:int])
- x21:bat[:oid,:int]{notnil=true,rows=1,bid=815} :=
sql.bind("sys","x","j",1); # 6 MDBdummy
(x21:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_8:int)
- x18{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]); # 7 ALGtmark
(x18:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_16:oid)
+ x1:bat[:oid,:int]{bid=812,rows=1,notnil=true} :=
sql.bind("sys","x","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_9:int)
+ x6:bat[:oid,:int]{bid=808,rows=0,notnil=true} :=
sql.bind("sys","x","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_4:int)
+ constraints.emptySet(x6); # 3 CemptySet (_12:void)<-(x6:bat[:oid,:int])
+ x9:bat[:oid,:int]{bid=814,rows=0,notnil=true} :=
sql.bind("sys","x","i",2); # 4 MDBdummy
(x9:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_15:int)
+ constraints.emptySet(x9); # 5 CemptySet (_16:void)<-(x9:bat[:oid,:int])
+ x21:bat[:oid,:int]{bid=815,rows=1,notnil=true} :=
sql.bind("sys","x","j",1); # 6 MDBdummy
(x21:bat[:oid,:int])<-(_6:str)(_7:str)(_19:str)(_4:int)
+ x18{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]); # 7 ALGtmark
(x18:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_21:oid)
x19{rows=1} := bat.reverse(x18); # 8 BKCreverse
(x19:bat[:oid,:oid])<-(x18:bat[:oid,:oid])
x20{rows=1} := algebra.join(x19,x1); # 9 ALGjoin
(x20:bat[:oid,:int])<-(x19:bat[:oid,:oid])(x1:bat[:oid,:int])
x28{rows=1} := algebra.join(x19,x21); # 10 ALGjoin
(x28:bat[:oid,:int])<-(x19:bat[:oid,:oid])(x21:bat[:oid,:int])
- x29 := sql.resultSet(2,1,x20); # 11 MDBdummy
(x29:void)<-(_11:int)(_8:int)(x20:bat[:oid,:int])
- sql.rsColumn(x29,"sys.x","i","int",32,0,x20); # 12 MDBdummy
(_21:void)<-(x29:void)(_22:str)(_5:str)(_23:str)(_24:int)(_6:int)(x20:bat[:oid,:int])
- sql.rsColumn(x29,"sys.x","j","int",32,0,x28); # 13 MDBdummy
(_25:void)<-(x29:void)(_22:str)(_14:str)(_23:str)(_24:int)(_6:int)(x28:bat[:oid,:int])
- sql.exportResult(x29,""); # 14 MDBdummy (_26:void)<-(x29:void)(_27:str)
+ x29 := sql.resultSet(2,1,x20); # 11 MDBdummy
(x29:void)<-(_15:int)(_4:int)(x20:bat[:oid,:int])
+ sql.rsColumn(x29,"sys.x","i","int",32,0,x20); # 12 MDBdummy
(_26:void)<-(x29:void)(_27:str)(_8:str)(_28:str)(_29:int)(_9:int)(x20:bat[:oid,:int])
+ sql.rsColumn(x29,"sys.x","j","int",32,0,x28); # 13 MDBdummy
(_30:void)<-(x29:void)(_27:str)(_19:str)(_28:str)(_29:int)(_9:int)(x28:bat[:oid,:int])
+ sql.exportResult(x29,""); # 14 MDBdummy (_31:void)<-(x29:void)(_32:str)
end query; # 15
#optimizer.partitions("user","query");
#
@@ -64,38 +64,38 @@
mdb.list("sql","query"); # 3 MDBlist3 (_6:void)<-(_4:str)(_5:str)
end main; # 4
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{notnil=true,rows=1,bid=812} :=
sql.bind("sys","x","i",0);
- x6:bat[:oid,:int]{notnil=true,rows=0,bid=808} :=
sql.bind("sys","x","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x6);
- bpm.emptySet(bpm7);
- x9:bat[:oid,:int]{notnil=true,rows=0,bid=814} :=
sql.bind("sys","x","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x9);
+ x1:bat[:oid,:int]{bid=812,rows=1,notnil=true} :=
sql.bind("sys","x","i",0);
+ x6:bat[:oid,:int]{bid=808,rows=0,notnil=true} :=
sql.bind("sys","x","i",1);
+ bpm10:bat[:oid,:int] := bpm.unfold(x6);
bpm.emptySet(bpm10);
- x21:bat[:oid,:int]{notnil=true,rows=1,bid=815} :=
sql.bind("sys","x","j",1);
- bpm13:bat[:oid,:int] := bpm.unfold(x21);
+ x9:bat[:oid,:int]{bid=814,rows=0,notnil=true} :=
sql.bind("sys","x","i",2);
+ bpm13:bat[:oid,:int] := bpm.unfold(x9);
+ bpm.emptySet(bpm13);
+ x21:bat[:oid,:int]{bid=815,rows=1,notnil=true} :=
sql.bind("sys","x","j",1);
+ bpm17:bat[:oid,:int] := bpm.unfold(x21);
x18{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
x19{rows=1} := bat.reverse(x18);
x20{rows=1} := algebra.join(x19,x1);
- _34 := bpm.new(:oid,:int);
-barrier x21:bat[:oid,:int]{notnil=true,rows=1,bid=815} :=
bpm.newIterator(bpm13);
+ _39 := bpm.new(:oid,:int);
+barrier x21:bat[:oid,:int]{bid=815,rows=1,notnil=true} :=
bpm.newIterator(bpm17);
x28{rows=1} := algebra.join(x19,x21);
- bpm.addPartition(_34,x28);
- redo x21:bat[:oid,:int]{notnil=true,rows=1,bid=815} :=
bpm.hasMoreElements(bpm13);
-exit x21:bat[:oid,:int]{notnil=true,rows=1,bid=815} ;
+ bpm.addPartition(_39,x28);
+ redo x21:bat[:oid,:int]{bid=815,rows=1,notnil=true} :=
bpm.hasMoreElements(bpm17);
+exit x21:bat[:oid,:int]{bid=815,rows=1,notnil=true} ;
x29 := sql.resultSet(2,1,x20);
sql.rsColumn(x29,"sys.x","i","int",32,0,x20);
- x28{rows=1} := bpm.fold(_34);
+ x28{rows=1} := bpm.fold(_39);
sql.rsColumn(x29,"sys.x","j","int",32,0,x28);
sql.exportResult(x29,"");
catch SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
bpm.garbage(bpm13);
+ bpm.garbage(bpm17);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
bpm.garbage(bpm13);
+ bpm.garbage(bpm17);
end query;
# 09:48:30 >
Index: CMexample.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/CMexample.stable.out,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- CMexample.stable.out 19 May 2007 06:07:43 -0000 1.4
+++ CMexample.stable.out 9 Dec 2007 16:21:15 -0000 1.5
@@ -24,17 +24,17 @@
#
function user.main():void; # 0 (main:void)
# Cost model example # 1 (_1:str)
- r{rows=100:lng} := bat.new(:oid,:int); # 2 CMDBATnew
(r:bat[:oid,:int])<-(_3:oid)(_4:int)
- s{rows=1000:lng} := bat.new(:oid,:int); # 3 CMDBATnew
(s:bat[:oid,:int])<-(_3:oid)(_4:int)
- rs{rows=501:lng} := algebra.select(s,1,1); # 4 ALGselect
(rs:bat[:oid,:int])<-(s:bat[:oid,:int])(_7:int)(_7:int)
+ r{rows=100} := bat.new(:oid,:int); # 2 CMDBATnew
(r:bat[:oid,:int])<-(_4:oid)(_5:int)
+ s{rows=1000} := bat.new(:oid,:int); # 3 CMDBATnew
(s:bat[:oid,:int])<-(_4:oid)(_8:int)
+ rs{rows=501:lng} := algebra.select(s,1,1); # 4 ALGselect
(rs:bat[:oid,:int])<-(s:bat[:oid,:int])(_10:int)(_10:int)
rr{rows=100:lng} := bat.reverse(r); # 5 BKCreverse
(rr:bat[:int,:oid])<-(r:bat[:oid,:int])
j{rows=100:lng} := algebra.join(rs,rr); # 6 ALGjoin
(j:bat[:oid,:oid])<-(rs:bat[:oid,:int])(rr:bat[:int,:oid])
- mdb.list(); # 7 MDBlist (_11:void)
+ mdb.list(); # 7 MDBlist (_14:void)
end main; # 8
function user.main():void;
# Cost model example
- r{rows=100:lng} := bat.new(:oid,:int);
- s{rows=1000:lng} := bat.new(:oid,:int);
+ r{rows=100} := bat.new(:oid,:int);
+ s{rows=1000} := bat.new(:oid,:int);
rs{rows=501:lng} := algebra.select(s,1,1);
rr{rows=100:lng} := bat.reverse(r);
j{rows=100:lng} := algebra.join(rs,rr);
Index: partitions07.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions07.stable.out,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- partitions07.stable.out 19 Aug 2007 21:02:19 -0000 1.3
+++ partitions07.stable.out 9 Dec 2007 16:21:17 -0000 1.4
@@ -52,28 +52,28 @@
# sql.exportResult(x18,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x6:bat[:oid,:int]{bid=1435,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x6); # 3 CemptySet (_9:void)<-(x6:bat[:oid,:int])
- x8:bat[:oid,:int]{bid=1436,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x8); # 5 CemptySet (_12:void)<-(x8:bat[:oid,:int])
- x11{rows=1:lng} := algebra.markT(x1,[EMAIL PROTECTED]); # 6 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_14:oid)
+ x1:bat[:oid,:int]{notnil=true,rows=1:lng,bid=769} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_9:int)
+ x6:bat[:oid,:int]{notnil=true,rows=0:lng,bid=1435} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_13:int)
+ constraints.emptySet(x6); # 3 CemptySet (_14:void)<-(x6:bat[:oid,:int])
+ x8:bat[:oid,:int]{notnil=true,rows=0:lng,bid=1436} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_17:int)
+ constraints.emptySet(x8); # 5 CemptySet (_18:void)<-(x8:bat[:oid,:int])
+ x11{rows=1:lng} := algebra.markT(x1,[EMAIL PROTECTED]); # 6 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_20:oid)
x12{rows=1:lng} := bat.reverse(x11); # 7 BKCreverse
(x12:bat[:oid,:oid])<-(x11:bat[:oid,:oid])
x13{rows=1:lng} := algebra.join(x12,x1); # 8 ALGjoin
(x13:bat[:oid,:int])<-(x12:bat[:oid,:oid])(x1:bat[:oid,:int])
x14{rows=1:lng} := batcalc.flt(x13); # 9 CMDconvert_int_flt
(x14:bat[:oid,:flt])<-(x13:bat[:oid,:int])
- x31 := bat.new(nil:oid,nil:flt); # 10 CMDBATnew
(x31:bat[:oid,:flt])<-(_19:oid)(_20:flt)
+ x31 := bat.new(nil:oid,nil:flt); # 10 CMDBATnew
(x31:bat[:oid,:flt])<-(_25:oid)(_26:flt)
barrier (x35,x36,x37):= bat.newIterator(x14); # 11 CHPbunIterator
(x35:lng)(x36:oid)(x37:flt)<-(x14:bat[:oid,:flt]) jump 18
x39 := mmath.sin(x37); # 12 MATHunary_SINflt (x39:flt)<-(x37:flt)
- bat.insert(x31,x36,x39); # 13 BKCinsert_bun
(_25:void)<-(x31:bat[:oid,:flt])(x36:oid)(x39:flt)
+ bat.insert(x31,x36,x39); # 13 BKCinsert_bun
(_31:void)<-(x31:bat[:oid,:flt])(x36:oid)(x39:flt)
redo (x35,x36,x37):= bat.hasMoreElements(x14); # 14
CHPbunHasMoreElements (x35:lng)(x36:oid)(x37:flt)<-(x14:bat[:oid,:flt]) jump 12
catch MALException:str ; # 15 (MALException:str) jump 17
redo (x35,x36,x37):= bat.hasMoreElements(x14); # 16
CHPbunHasMoreElements (x35:lng)(x36:oid)(x37:flt)<-(x14:bat[:oid,:flt]) jump 12
exit MALException:str ; # 17 (MALException:str)
exit (x35,x36,x37); # 18 (x35:lng)(x36:oid)(x37:flt)
x15:bat[:oid,:flt] := x31; # 19
(x15:bat[:oid,:flt])<-(x31:bat[:oid,:flt])
- x18 := sql.resultSet(1,1,x15); # 20 MDBdummy
(x18:void)<-(_8:int)(_8:int)(x15:bat[:oid,:flt])
- sql.rsColumn(x18,"sys.","sinxi","real",24,0,x15); # 21 MDBdummy
(_29:void)<-(x18:void)(_30:str)(_31:str)(_32:str)(_33:int)(_6:int)(x15:bat[:oid,:flt])
- sql.exportResult(x18,""); # 22 MDBdummy (_34:void)<-(x18:void)(_35:str)
+ x18 := sql.resultSet(1,1,x15); # 20 MDBdummy
(x18:void)<-(_13:int)(_13:int)(x15:bat[:oid,:flt])
+ sql.rsColumn(x18,"sys.","sinxi","real",24,0,x15); # 21 MDBdummy
(_35:void)<-(x18:void)(_36:str)(_37:str)(_38:str)(_39:int)(_9:int)(x15:bat[:oid,:flt])
+ sql.exportResult(x18,""); # 22 MDBdummy (_40:void)<-(x18:void)(_41:str)
end query; # 23
#optimizer.partitions("sql","query");
#mdb.list("sql","query");
@@ -86,13 +86,13 @@
mdb.list("sql","query"); # 5 MDBlist3 (_8:void)<-(_6:str)(_7:str)
end main; # 6
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} :=
sql.bind("sys","t","i",0);
- x6:bat[:oid,:int]{bid=1435,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x6);
- bpm.emptySet(bpm7);
- x8:bat[:oid,:int]{bid=1436,rows=0:lng,notnil=true} :=
sql.bind("sys","t","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x8);
+ x1:bat[:oid,:int]{notnil=true,rows=1:lng,bid=769} :=
sql.bind("sys","t","i",0);
+ x6:bat[:oid,:int]{notnil=true,rows=0:lng,bid=1435} :=
sql.bind("sys","t","i",1);
+ bpm10:bat[:oid,:int] := bpm.unfold(x6);
bpm.emptySet(bpm10);
+ x8:bat[:oid,:int]{notnil=true,rows=0:lng,bid=1436} :=
sql.bind("sys","t","i",2);
+ bpm15:bat[:oid,:int] := bpm.unfold(x8);
+ bpm.emptySet(bpm15);
x11{rows=1:lng} := algebra.markT(x1,[EMAIL PROTECTED]);
x12{rows=1:lng} := bat.reverse(x11);
x13{rows=1:lng} := algebra.join(x12,x1);
@@ -111,12 +111,12 @@
sql.rsColumn(x18,"sys.","sinxi","real",24,0,x15);
sql.exportResult(x18,"");
catch SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
+ bpm.garbage(bpm15);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
+ bpm.garbage(bpm15);
end query;
# 09:41:13 >
Index: partitions04.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions04.stable.out,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- partitions04.stable.out 19 Aug 2007 21:02:19 -0000 1.4
+++ partitions04.stable.out 9 Dec 2007 16:21:17 -0000 1.5
@@ -45,21 +45,21 @@
# sql.exportResult(x18,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x6:bat[:oid,:int]{bid=2481,rows=0,notnil=true} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x6); # 3 CemptySet (_9:void)<-(x6:bat[:oid,:int])
- x8:bat[:oid,:int]{bid=2480,rows=0,notnil=true} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x8); # 5 CemptySet (_12:void)<-(x8:bat[:oid,:int])
- x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
sql.bind("sys","t","j",1); # 6 MDBdummy
(x13:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_8:int)
- x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]); # 7 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_16:oid)
+ x1:bat[:oid,:int]{notnil=true,rows=1,bid=2199} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_9:int)
+ x6:bat[:oid,:int]{notnil=true,rows=0,bid=2481} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_4:int)
+ constraints.emptySet(x6); # 3 CemptySet (_12:void)<-(x6:bat[:oid,:int])
+ x8:bat[:oid,:int]{notnil=true,rows=0,bid=2480} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_15:int)
+ constraints.emptySet(x8); # 5 CemptySet (_16:void)<-(x8:bat[:oid,:int])
+ x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
sql.bind("sys","t","j",1); # 6 MDBdummy
(x13:bat[:oid,:int])<-(_6:str)(_7:str)(_19:str)(_4:int)
+ x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]); # 7 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_21:oid)
x12{rows=1} := bat.reverse(x11); # 8 BKCreverse
(x12:bat[:oid,:oid])<-(x11:bat[:oid,:oid])
x15{rows=1} := algebra.join(x12,x13); # 9 ALGjoin
(x15:bat[:oid,:int])<-(x12:bat[:oid,:oid])(x13:bat[:oid,:int])
x16{rows=1} := algebra.sortTail(x15); # 10 ALGtsort
(x16:bat[:oid,:int])<-(x15:bat[:oid,:int])
x17{rows=1} := algebra.join(x12,x1); # 11 ALGjoin
(x17:bat[:oid,:int])<-(x12:bat[:oid,:oid])(x1:bat[:oid,:int])
- x18 := sql.resultSet(2,1,x16); # 12 MDBdummy
(x18:void)<-(_11:int)(_8:int)(x16:bat[:oid,:int])
- sql.rsColumn(x18,"sys.t","i","int",32,0,x17); # 13 MDBdummy
(_22:void)<-(x18:void)(_23:str)(_5:str)(_24:str)(_25:int)(_6:int)(x17:bat[:oid,:int])
- sql.rsColumn(x18,"sys.t","j","int",32,0,x15); # 14 MDBdummy
(_26:void)<-(x18:void)(_23:str)(_14:str)(_24:str)(_25:int)(_6:int)(x15:bat[:oid,:int])
- sql.exportResult(x18,""); # 15 MDBdummy (_27:void)<-(x18:void)(_28:str)
+ x18 := sql.resultSet(2,1,x16); # 12 MDBdummy
(x18:void)<-(_15:int)(_4:int)(x16:bat[:oid,:int])
+ sql.rsColumn(x18,"sys.t","i","int",32,0,x17); # 13 MDBdummy
(_27:void)<-(x18:void)(_28:str)(_8:str)(_29:str)(_30:int)(_9:int)(x17:bat[:oid,:int])
+ sql.rsColumn(x18,"sys.t","j","int",32,0,x15); # 14 MDBdummy
(_31:void)<-(x18:void)(_28:str)(_19:str)(_29:str)(_30:int)(_9:int)(x15:bat[:oid,:int])
+ sql.exportResult(x18,""); # 15 MDBdummy (_32:void)<-(x18:void)(_33:str)
end query; # 16
#optimizer.partitions("sql","query");
#mdb.list("sql","query");
@@ -72,24 +72,24 @@
mdb.list("sql","query"); # 5 MDBlist3 (_8:void)<-(_6:str)(_7:str)
end main; # 6
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} :=
sql.bind("sys","t","i",0);
- x6:bat[:oid,:int]{bid=2481,rows=0,notnil=true} :=
sql.bind("sys","t","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x6);
- bpm.emptySet(bpm7);
- x8:bat[:oid,:int]{bid=2480,rows=0,notnil=true} :=
sql.bind("sys","t","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x8);
+ x1:bat[:oid,:int]{notnil=true,rows=1,bid=2199} :=
sql.bind("sys","t","i",0);
+ x6:bat[:oid,:int]{notnil=true,rows=0,bid=2481} :=
sql.bind("sys","t","i",1);
+ bpm10:bat[:oid,:int] := bpm.unfold(x6);
bpm.emptySet(bpm10);
- x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
sql.bind("sys","t","j",1);
- bpm13:bat[:oid,:int] := bpm.unfold(x13);
+ x8:bat[:oid,:int]{notnil=true,rows=0,bid=2480} :=
sql.bind("sys","t","i",2);
+ bpm13:bat[:oid,:int] := bpm.unfold(x8);
+ bpm.emptySet(bpm13);
+ x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
sql.bind("sys","t","j",1);
+ bpm17:bat[:oid,:int] := bpm.unfold(x13);
x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
x12{rows=1} := bat.reverse(x11);
- _35 := bpm.new(:oid,:int);
-barrier x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
bpm.newIterator(bpm13);
+ _40 := bpm.new(:oid,:int);
+barrier x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
bpm.newIterator(bpm17);
x15{rows=1} := algebra.join(x12,x13);
- bpm.addPartition(_35,x15);
- redo x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
bpm.hasMoreElements(bpm13);
-exit x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true} ;
- x15{rows=1} := bpm.fold(_35);
+ bpm.addPartition(_40,x15);
+ redo x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
bpm.hasMoreElements(bpm17);
+exit x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201} ;
+ x15{rows=1} := bpm.fold(_40);
x16{rows=1} := algebra.sortTail(x15);
x17{rows=1} := algebra.join(x12,x1);
x18 := sql.resultSet(2,1,x16);
@@ -97,14 +97,14 @@
sql.rsColumn(x18,"sys.t","j","int",32,0,x15);
sql.exportResult(x18,"");
catch SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
bpm.garbage(bpm13);
+ bpm.garbage(bpm17);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
bpm.garbage(bpm13);
+ bpm.garbage(bpm17);
end query;
# 10:36:14 >
Index: partitions03.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions03.stable.out,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- partitions03.stable.out 19 Aug 2007 21:02:18 -0000 1.4
+++ partitions03.stable.out 9 Dec 2007 16:21:16 -0000 1.5
@@ -49,13 +49,13 @@
# sql.exportResult(x24,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true} :=
sql.bind("sys","y","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x6:bat[:oid,:int]{bid=1485,rows=0,notnil=true} :=
sql.bind("sys","y","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x6); # 3 CemptySet (_9:void)<-(x6:bat[:oid,:int])
- x8:bat[:oid,:int]{bid=1491,rows=0,notnil=true} :=
sql.bind("sys","y","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x8); # 5 CemptySet (_12:void)<-(x8:bat[:oid,:int])
- x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true} :=
sql.bind("sys","y","j",0); # 6 MDBdummy
(x16:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_6:int)
- x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]); # 7 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_16:oid)
+ x1:bat[:oid,:int]{notnil=true,rows=1,bid=1489} :=
sql.bind("sys","y","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_9:int)
+ x6:bat[:oid,:int]{notnil=true,rows=0,bid=1485} :=
sql.bind("sys","y","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_4:int)
+ constraints.emptySet(x6); # 3 CemptySet (_12:void)<-(x6:bat[:oid,:int])
+ x8:bat[:oid,:int]{notnil=true,rows=0,bid=1491} :=
sql.bind("sys","y","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_15:int)
+ constraints.emptySet(x8); # 5 CemptySet (_16:void)<-(x8:bat[:oid,:int])
+ x16:bat[:oid,:int]{notnil=true,rows=1,bid=1492} :=
sql.bind("sys","y","j",0); # 6 MDBdummy
(x16:bat[:oid,:int])<-(_6:str)(_7:str)(_19:str)(_9:int)
+ x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]); # 7 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_21:oid)
x12{rows=1} := bat.reverse(x11); # 8 BKCreverse
(x12:bat[:oid,:oid])<-(x11:bat[:oid,:oid])
x13{rows=1} := algebra.join(x12,x1); # 9 ALGjoin
(x13:bat[:oid,:int])<-(x12:bat[:oid,:oid])(x1:bat[:oid,:int])
(ext23,grp21):= group.new(x13); # 10 GRPgroup
(ext23:bat[:oid,:int])(grp21:bat[:oid,:oid])<-(x13:bat[:oid,:int])
@@ -64,10 +64,10 @@
x21 := bat.mirror(ext34); # 13 BKCmirror
(x21:bat[:oid,:oid])<-(ext34:bat[:oid,:int])
x22 := algebra.joinPath(x21,x12,x1); # 14 ALGjoinPath
(x22:bat[:any,:any])<-(x21:bat[:oid,:oid])(x12:bat[:oid,:oid])(x1:bat[:oid,:int])
x23 := algebra.joinPath(x21,x12,x16); # 15 ALGjoinPath
(x23:bat[:any,:any])<-(x21:bat[:oid,:oid])(x12:bat[:oid,:oid])(x16:bat[:oid,:int])
- x24 := sql.resultSet(2,1,x22); # 16 MDBdummy
(x24:void)<-(_11:int)(_8:int)(x22:bat[:any,:any])
- sql.rsColumn(x24,"sys.y","i","int",32,0,x22); # 17 MDBdummy
(_28:void)<-(x24:void)(_29:str)(_5:str)(_30:str)(_31:int)(_6:int)(x22:bat[:any,:any])
- sql.rsColumn(x24,"sys.y","j","int",32,0,x23); # 18 MDBdummy
(_32:void)<-(x24:void)(_29:str)(_14:str)(_30:str)(_31:int)(_6:int)(x23:bat[:any,:any])
- sql.exportResult(x24,""); # 19 MDBdummy (_33:void)<-(x24:void)(_34:str)
+ x24 := sql.resultSet(2,1,x22); # 16 MDBdummy
(x24:void)<-(_15:int)(_4:int)(x22:bat[:any,:any])
+ sql.rsColumn(x24,"sys.y","i","int",32,0,x22); # 17 MDBdummy
(_33:void)<-(x24:void)(_34:str)(_8:str)(_35:str)(_36:int)(_9:int)(x22:bat[:any,:any])
+ sql.rsColumn(x24,"sys.y","j","int",32,0,x23); # 18 MDBdummy
(_37:void)<-(x24:void)(_34:str)(_19:str)(_35:str)(_36:int)(_9:int)(x23:bat[:any,:any])
+ sql.exportResult(x24,""); # 19 MDBdummy (_38:void)<-(x24:void)(_39:str)
end query; # 20
#optimizer.partitions("sql","query");
#mdb.list("sql","query");
@@ -82,14 +82,14 @@
mdb.list("sql","query"); # 5 MDBlist3 (_8:void)<-(_6:str)(_7:str)
end main; # 6
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true} :=
sql.bind("sys","y","i",0);
- x6:bat[:oid,:int]{bid=1485,rows=0,notnil=true} :=
sql.bind("sys","y","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x6);
- bpm.emptySet(bpm7);
- x8:bat[:oid,:int]{bid=1491,rows=0,notnil=true} :=
sql.bind("sys","y","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x8);
+ x1:bat[:oid,:int]{notnil=true,rows=1,bid=1489} :=
sql.bind("sys","y","i",0);
+ x6:bat[:oid,:int]{notnil=true,rows=0,bid=1485} :=
sql.bind("sys","y","i",1);
+ bpm10:bat[:oid,:int] := bpm.unfold(x6);
bpm.emptySet(bpm10);
- x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true} :=
sql.bind("sys","y","j",0);
+ x8:bat[:oid,:int]{notnil=true,rows=0,bid=1491} :=
sql.bind("sys","y","i",2);
+ bpm13:bat[:oid,:int] := bpm.unfold(x8);
+ bpm.emptySet(bpm13);
+ x16:bat[:oid,:int]{notnil=true,rows=1,bid=1492} :=
sql.bind("sys","y","j",0);
x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
x12{rows=1} := bat.reverse(x11);
x13{rows=1} := algebra.join(x12,x1);
@@ -104,12 +104,12 @@
sql.rsColumn(x24,"sys.y","j","int",32,0,x23);
sql.exportResult(x24,"");
catch SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
+ bpm.garbage(bpm13);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
+ bpm.garbage(bpm13);
end query;
# 08:13:11 >
Index: ESexample.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/ESexample.stable.out,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- ESexample.stable.out 28 Dec 2006 22:16:17 -0000 1.22
+++ ESexample.stable.out 9 Dec 2007 16:21:16 -0000 1.23
@@ -30,7 +30,7 @@
V12 := algebra.kdifference(V7,V11); # 5 ALGkdiff
(V12:bat[:oid,:int])<-(V7:bat[:oid,:int])(V11:bat[:oid,:int])
V16 := algebra.markT(V12); # 6 ALGtmark_default
(V16:bat[:oid,:oid])<-(V12:bat[:oid,:int])
V17 := algebra.join(V16,V7); # 7 ALGjoin
(V17:bat[:oid,:int])<-(V16:bat[:oid,:oid])(V7:bat[:oid,:int])
- bat.append(V1,V17); # 8 BKCappend_wrap
(_10:void)<-(V1:bat[:oid,:int])(V17:bat[:oid,:int])
+ bat.append(V1,V17); # 8 BKCappend_wrap
(_11:void)<-(V1:bat[:oid,:int])(V17:bat[:oid,:int])
end tst; # 9
# optimizer.costModel("user","tst");
# optimizer.emptySet("user","tst");
Index: partitions05.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions05.stable.out,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- partitions05.stable.out 19 Aug 2007 21:02:19 -0000 1.4
+++ partitions05.stable.out 9 Dec 2007 16:21:17 -0000 1.5
@@ -46,22 +46,22 @@
# sql.exportResult(x21,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x10:bat[:oid,:int]{bid=2653,rows=0,notnil=true} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x10:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x10); # 3 CemptySet (_9:void)<-(x10:bat[:oid,:int])
- x12:bat[:oid,:int]{bid=2654,rows=0,notnil=true} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x12:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x12); # 5 CemptySet (_12:void)<-(x12:bat[:oid,:int])
- x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
sql.bind("sys","t","j",1); # 6 MDBdummy
(x17:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_8:int)
- x7{rows=1} := algebra.uselect(x1,nil:int,2,false,false); # 7
ALGuselectInclusive
(x7:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_16:int)(_11:int)(_17:bit)(_17:bit)
- x14{rows=1} := algebra.markT(x7,[EMAIL PROTECTED]); # 8 ALGtmark
(x14:bat[:oid,:oid])<-(x7:bat[:oid,:oid])(_19:oid)
+ x1:bat[:oid,:int]{notnil=true,rows=1,bid=2199} :=
sql.bind("sys","t","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_9:int)
+ x10:bat[:oid,:int]{notnil=true,rows=0,bid=2653} :=
sql.bind("sys","t","i",1); # 2 MDBdummy
(x10:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_4:int)
+ constraints.emptySet(x10); # 3 CemptySet (_12:void)<-(x10:bat[:oid,:int])
+ x12:bat[:oid,:int]{notnil=true,rows=0,bid=2654} :=
sql.bind("sys","t","i",2); # 4 MDBdummy
(x12:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_15:int)
+ constraints.emptySet(x12); # 5 CemptySet (_16:void)<-(x12:bat[:oid,:int])
+ x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
sql.bind("sys","t","j",1); # 6 MDBdummy
(x17:bat[:oid,:int])<-(_6:str)(_7:str)(_19:str)(_4:int)
+ x7{rows=1} := algebra.uselect(x1,nil:int,2,false,false); # 7
ALGuselectInclusive
(x7:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_21:int)(_15:int)(_22:bit)(_22:bit)
+ x14{rows=1} := algebra.markT(x7,[EMAIL PROTECTED]); # 8 ALGtmark
(x14:bat[:oid,:oid])<-(x7:bat[:oid,:oid])(_24:oid)
x15{rows=1} := bat.reverse(x14); # 9 BKCreverse
(x15:bat[:oid,:oid])<-(x14:bat[:oid,:oid])
x16{rows=1} := algebra.join(x15,x1); # 10 ALGjoin
(x16:bat[:oid,:int])<-(x15:bat[:oid,:oid])(x1:bat[:oid,:int])
x19{rows=1} := algebra.join(x15,x17); # 11 ALGjoin
(x19:bat[:oid,:int])<-(x15:bat[:oid,:oid])(x17:bat[:oid,:int])
x24:bat[:oid,:int]{rows=1} := algebra.reuse(x16); # 12 ALGreuse
(x24:bat[:oid,:int])<-(x16:bat[:oid,:int])
x20:bat[:oid,:int]{rows=1} := batcalc.+(x24,x16,x19); # 13
CMDbataccumADD_int_int_int
(x20:bat[:oid,:int])<-(x24:bat[:oid,:int])(x16:bat[:oid,:int])(x19:bat[:oid,:int])
- x21 := sql.resultSet(1,1,x20); # 14 MDBdummy
(x21:void)<-(_8:int)(_8:int)(x20:bat[:oid,:int])
- sql.rsColumn(x21,"sys.","sqlxaddxi","int",32,0,x20); # 15 MDBdummy
(_26:void)<-(x21:void)(_27:str)(_28:str)(_29:str)(_30:int)(_6:int)(x20:bat[:oid,:int])
- sql.exportResult(x21,""); # 16 MDBdummy (_31:void)<-(x21:void)(_32:str)
+ x21 := sql.resultSet(1,1,x20); # 14 MDBdummy
(x21:void)<-(_4:int)(_4:int)(x20:bat[:oid,:int])
+ sql.rsColumn(x21,"sys.","sqlxaddxi","int",32,0,x20); # 15 MDBdummy
(_31:void)<-(x21:void)(_32:str)(_33:str)(_34:str)(_35:int)(_9:int)(x20:bat[:oid,:int])
+ sql.exportResult(x21,""); # 16 MDBdummy (_36:void)<-(x21:void)(_37:str)
end query; # 17
#optimizer.partitions("sql","query");
#mdb.list("sql","query");
@@ -74,40 +74,40 @@
mdb.list("sql","query"); # 5 MDBlist3 (_8:void)<-(_6:str)(_7:str)
end main; # 6
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} :=
sql.bind("sys","t","i",0);
- x10:bat[:oid,:int]{bid=2653,rows=0,notnil=true} :=
sql.bind("sys","t","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x10);
- bpm.emptySet(bpm7);
- x12:bat[:oid,:int]{bid=2654,rows=0,notnil=true} :=
sql.bind("sys","t","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x12);
+ x1:bat[:oid,:int]{notnil=true,rows=1,bid=2199} :=
sql.bind("sys","t","i",0);
+ x10:bat[:oid,:int]{notnil=true,rows=0,bid=2653} :=
sql.bind("sys","t","i",1);
+ bpm10:bat[:oid,:int] := bpm.unfold(x10);
bpm.emptySet(bpm10);
- x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
sql.bind("sys","t","j",1);
- bpm13:bat[:oid,:int] := bpm.unfold(x17);
+ x12:bat[:oid,:int]{notnil=true,rows=0,bid=2654} :=
sql.bind("sys","t","i",2);
+ bpm13:bat[:oid,:int] := bpm.unfold(x12);
+ bpm.emptySet(bpm13);
+ x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
sql.bind("sys","t","j",1);
+ bpm17:bat[:oid,:int] := bpm.unfold(x17);
x7{rows=1} := algebra.uselect(x1,nil:int,2,false,false);
x14{rows=1} := algebra.markT(x7,[EMAIL PROTECTED]);
x15{rows=1} := bat.reverse(x14);
x16{rows=1} := algebra.join(x15,x1);
- _39 := bpm.new(:oid,:int);
-barrier x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
bpm.newIterator(bpm13);
+ _44 := bpm.new(:oid,:int);
+barrier x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
bpm.newIterator(bpm17);
x19{rows=1} := algebra.join(x15,x17);
- bpm.addPartition(_39,x19);
- redo x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true} :=
bpm.hasMoreElements(bpm13);
-exit x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true} ;
+ bpm.addPartition(_44,x19);
+ redo x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201} :=
bpm.hasMoreElements(bpm17);
+exit x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201} ;
x24:bat[:oid,:int]{rows=1} := algebra.reuse(x16);
- x19{rows=1} := bpm.fold(_39);
+ x19{rows=1} := bpm.fold(_44);
x20:bat[:oid,:int]{rows=1} := batcalc.+(x24,x16,x19);
x21 := sql.resultSet(1,1,x20);
sql.rsColumn(x21,"sys.","sqlxaddxi","int",32,0,x20);
sql.exportResult(x21,"");
catch SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
bpm.garbage(bpm13);
+ bpm.garbage(bpm17);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
bpm.garbage(bpm10);
bpm.garbage(bpm13);
+ bpm.garbage(bpm17);
end query;
# 21:11:13 >
Index: partitions02.stable.out
===================================================================
RCS file:
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions02.stable.out,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- partitions02.stable.out 19 Aug 2007 21:02:18 -0000 1.5
+++ partitions02.stable.out 9 Dec 2007 16:21:16 -0000 1.6
@@ -38,15 +38,15 @@
# sql.exportValue(1,"sys.","countx","int",32,0,6,x13,"");
#end query;
function sql.query(A0:sht):void; # 0 (query:void)<-(A0:sht)
- x1:bat[:oid,:int]{bid=765,rows=0,notnil=true} :=
sql.bind("sys","x","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_6:int)
- x6:bat[:oid,:int]{bid=769,rows=0,notnil=true} :=
sql.bind("sys","x","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_8:int)
- constraints.emptySet(x6); # 3 CemptySet (_9:void)<-(x6:bat[:oid,:int])
- x8:bat[:oid,:int]{bid=771,rows=0,notnil=true} :=
sql.bind("sys","x","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_3:str)(_4:str)(_5:str)(_11:int)
- constraints.emptySet(x8); # 5 CemptySet (_12:void)<-(x8:bat[:oid,:int])
- x11{rows=0} := algebra.markT(x1,[EMAIL PROTECTED]); # 6 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_14:oid)
+ x1:bat[:oid,:int]{notnil=true,rows=0,bid=765} :=
sql.bind("sys","x","i",0); # 1 MDBdummy
(x1:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_4:int)
+ x6:bat[:oid,:int]{notnil=true,rows=0,bid=769} :=
sql.bind("sys","x","i",1); # 2 MDBdummy
(x6:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_11:int)
+ constraints.emptySet(x6); # 3 CemptySet (_12:void)<-(x6:bat[:oid,:int])
+ x8:bat[:oid,:int]{notnil=true,rows=0,bid=771} :=
sql.bind("sys","x","i",2); # 4 MDBdummy
(x8:bat[:oid,:int])<-(_6:str)(_7:str)(_8:str)(_15:int)
+ constraints.emptySet(x8); # 5 CemptySet (_16:void)<-(x8:bat[:oid,:int])
+ x11{rows=0} := algebra.markT(x1,[EMAIL PROTECTED]); # 6 ALGtmark
(x11:bat[:oid,:oid])<-(x1:bat[:oid,:int])(_18:oid)
x12{rows=0} := bat.reverse(x11); # 7 BKCreverse
(x12:bat[:oid,:oid])<-(x11:bat[:oid,:oid])
x13{rows=1} := aggr.count(x12); # 8 ALGcount_bat
(x13:int)<-(x12:bat[:oid,:oid])
- sql.exportValue(1,"sys.","countx","int",32,0,6,x13,""); # 9 MDBdummy
(_17:void)<-(_8:int)(_18:str)(_19:str)(_20:str)(_21:int)(_6:int)(_22:int)(x13:int)(_23:str)
+ sql.exportValue(1,"sys.","countx","int",32,0,6,x13,""); # 9 MDBdummy
(_21:void)<-(_11:int)(_22:str)(_23:str)(_24:str)(_25:int)(_4:int)(_26:int)(x13:int)(_27:str)
end query; # 10
#optimizer.partitions("sql","query");
#mdb.list("sql","query");
@@ -59,24 +59,24 @@
mdb.list("sql","query"); # 5 MDBlist3 (_8:void)<-(_6:str)(_7:str)
end main; # 6
function sql.query(A0:sht):void;
- x1:bat[:oid,:int]{bid=765,rows=0,notnil=true} :=
sql.bind("sys","x","i",0);
- x6:bat[:oid,:int]{bid=769,rows=0,notnil=true} :=
sql.bind("sys","x","i",1);
- bpm7:bat[:oid,:int] := bpm.unfold(x6);
- bpm.emptySet(bpm7);
- x8:bat[:oid,:int]{bid=771,rows=0,notnil=true} :=
sql.bind("sys","x","i",2);
- bpm10:bat[:oid,:int] := bpm.unfold(x8);
- bpm.emptySet(bpm10);
+ x1:bat[:oid,:int]{notnil=true,rows=0,bid=765} :=
sql.bind("sys","x","i",0);
+ x6:bat[:oid,:int]{notnil=true,rows=0,bid=769} :=
sql.bind("sys","x","i",1);
+ bpm9:bat[:oid,:int] := bpm.unfold(x6);
+ bpm.emptySet(bpm9);
+ x8:bat[:oid,:int]{notnil=true,rows=0,bid=771} :=
sql.bind("sys","x","i",2);
+ bpm13:bat[:oid,:int] := bpm.unfold(x8);
+ bpm.emptySet(bpm13);
x11{rows=0} := algebra.markT(x1,[EMAIL PROTECTED]);
x12{rows=0} := bat.reverse(x11);
x13{rows=1} := aggr.count(x12);
sql.exportValue(1,"sys.","countx","int",32,0,6,x13,"");
catch SQLexception;
- bpm.garbage(bpm7);
- bpm.garbage(bpm10);
+ bpm.garbage(bpm9);
+ bpm.garbage(bpm13);
raise SQLexception;
exit SQLexception;
- bpm.garbage(bpm7);
- bpm.garbage(bpm10);
+ bpm.garbage(bpm9);
+ bpm.garbage(bpm13);
end query;
# 22:44:54 >
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins