Update of /cvsroot/monetdb/MonetDB5/src/optimizer/Tests
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25004/Tests

Modified Files:
        partitions00.mal partitions00.stable.out partitions01.mal 
        partitions01.stable.out partitions02.stable.out 
        partitions03.stable.out partitions04.mal 
        partitions04.stable.out partitions05.mal 
        partitions05.stable.out partitions06.mal 
        partitions06.stable.out partitions07.stable.out 
Log Message:
Update and approve output.


Index: partitions01.mal
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions01.mal,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- partitions01.mal    15 May 2007 17:46:50 -0000      1.4
+++ partitions01.mal    19 Aug 2007 21:02:18 -0000      1.5
@@ -16,7 +16,7 @@
     constraints.emptySet(x6);
     x9:bat[:oid,:int]{bid=814,rows=0,notnil=true}  := 
sql.bind("sys","x","i",2);
     constraints.emptySet(x9);
-    x21:bat[:oid,:int]{bid=815,rows=1,notnil=true}  := 
sql.bind("sys","x","j",0);
+    x21:bat[:oid,:int]{bid=815,rows=1,notnil=true}  := 
sql.bind("sys","x","j",1);
     x18{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
     x19{rows=1} := bat.reverse(x18);
     x20{rows=1} := algebra.join(x19,x1);

Index: partitions00.mal
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions00.mal,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- partitions00.mal    15 May 2007 17:46:49 -0000      1.5
+++ partitions00.mal    19 Aug 2007 21:02:18 -0000      1.6
@@ -11,7 +11,7 @@
 address MDBdummy;
 
 function query();
-    t1:bat[:oid,:int]:= sql.bind("sys","t","i",0);
+    t1:bat[:oid,:int]:= sql.bind("sys","t","i",1);
     t11:= algebra.markT(t1,[EMAIL PROTECTED]);
     t12:= bat.reverse(t11);
     t13:= algebra.join(t12,t1);

Index: partitions05.mal
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions05.mal,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- partitions05.mal    17 May 2007 19:17:35 -0000      1.1
+++ partitions05.mal    19 Aug 2007 21:02:19 -0000      1.2
@@ -21,7 +21,7 @@
     constraints.emptySet(x10);
     x12:bat[:oid,:int]{notnil=true,rows=0,bid=2654}  := 
sql.bind("sys","t","i",2);
     constraints.emptySet(x12);
-    x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201}  := 
sql.bind("sys","t","j",0);
+    x17:bat[:oid,:int]{notnil=true,rows=1,bid=2201}  := 
sql.bind("sys","t","j",1);
     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);

Index: partitions04.mal
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions04.mal,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- partitions04.mal    17 May 2007 19:17:33 -0000      1.1
+++ partitions04.mal    19 Aug 2007 21:02:19 -0000      1.2
@@ -21,7 +21,7 @@
     constraints.emptySet(x6);
     x8:bat[:oid,:int]{notnil=true,rows=0,bid=2480}  := 
sql.bind("sys","t","i",2);
     constraints.emptySet(x8);
-    x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201}  := 
sql.bind("sys","t","j",0);
+    x13:bat[:oid,:int]{notnil=true,rows=1,bid=2201}  := 
sql.bind("sys","t","j",1);
     x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
     x12{rows=1} := bat.reverse(x11);
     x15{rows=1} := algebra.join(x12,x13);

Index: partitions06.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions06.stable.out,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- partitions06.stable.out     28 Jul 2007 01:52:04 -0000      1.2
+++ partitions06.stable.out     19 Aug 2007 21:02:19 -0000      1.3
@@ -52,7 +52,7 @@
     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",0);  # 6 MDBdummy 
(x17:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_6: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)
     x15{rows=1:lng} := bat.reverse(x14);       # 9 BKCreverse 
(x15:bat[:oid,:oid])<-(x14:bat[:oid,:oid])
@@ -77,87 +77,46 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
     bpm.emptySet(bpm10);
-    x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true}  := 
sql.bind("sys","t","j",0);
+    x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true}  := 
sql.bind("sys","t","j",1);
     bpm13:bat[:oid,:int]  := bpm.unfold(x17);
-    _41 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.newIterator(bpm2);
     x7{rows=1:lng} := algebra.uselect(x1,nil:int,2,false,false);
-    bpm.addPartition(_41,x7);
-    redo x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} ;
-    _47 := bpm.new(:oid,:oid);
-barrier x7{rows=1:lng} := bpm.newIterator(_41);
     x14{rows=1:lng} := algebra.markT(x7,[EMAIL PROTECTED]);
-    bpm.addPartition(_47,x14);
-    redo x7{rows=1:lng} := bpm.hasMoreElements(_41);
-exit x7{rows=1:lng};
-    _53 := bpm.new(:oid,:oid);
-barrier x14{rows=1:lng} := bpm.newIterator(_47);
     x15{rows=1:lng} := bat.reverse(x14);
-    bpm.addPartition(_53,x15);
-    redo x14{rows=1:lng} := bpm.hasMoreElements(_47);
-exit x14{rows=1:lng};
-    _59 := bpm.new(:oid,:int);
-barrier x15{rows=1:lng} := bpm.newIterator(_53);
-barrier x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.newIterator(bpm2);
     x16{rows=1:lng} := algebra.join(x15,x1);
-    bpm.addPartition(_59,x16);
-    redo x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-    redo x15{rows=1:lng} := bpm.hasMoreElements(_53);
-exit x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} ;
-exit x15{rows=1:lng};
-    _67 := bpm.new(:oid,:int);
-barrier x15{rows=1:lng} := bpm.newIterator(_53);
+    _39 := bpm.new(:oid,:int);
 barrier x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true}  := 
bpm.newIterator(bpm13);
     x19{rows=1:lng} := algebra.join(x15,x17);
-    bpm.addPartition(_67,x19);
+    bpm.addPartition(_39,x19);
     redo x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true}  := 
bpm.hasMoreElements(bpm13);
-    redo x15{rows=1:lng} := bpm.hasMoreElements(_53);
 exit x17:bat[:oid,:int]{bid=772,rows=1:lng,notnil=true} ;
-exit x15{rows=1:lng};
-    _75 := bpm.new(:oid,:int);
-barrier x19{rows=1:lng} := bpm.newIterator(_67);
+    _45 := bpm.new(:oid,:int);
+barrier x19{rows=1:lng} := bpm.newIterator(_39);
     x33 := algebra.reuse(x19);
-    bpm.addPartition(_75,x33);
-    redo x19{rows=1:lng} := bpm.hasMoreElements(_67);
-exit x19{rows=1:lng};
-    _81 := bpm.new(:oid,:int);
-barrier x16{rows=1:lng} := bpm.newIterator(_59);
-barrier x19{rows=1:lng} := bpm.newIterator(_67);
-    x20:bat[:oid,:int]{segment=-1,rows=1:lng}  := batcalc.+(x33,x16,x19);
-    bpm.addPartition(_81,x20);
-    redo x19{rows=1:lng} := bpm.hasMoreElements(_67);
-    redo x16{rows=1:lng} := bpm.hasMoreElements(_59);
+    bpm.addPartition(_45,x33);
+    redo x19{rows=1:lng} := bpm.hasMoreElements(_39);
 exit x19{rows=1:lng};
-exit x16{rows=1:lng};
-    _89 := bpm.new(:oid,:int);
-barrier x20:bat[:oid,:int]{segment=-1,rows=1:lng}  := bpm.newIterator(_89);
-barrier x16{rows=1:lng} := bpm.newIterator(_59);
-    x20:bat[:oid,:int]{segment=-1,rows=1:lng}  := batcalc.+(x20,x20,x16);
-    bpm.addPartition(_89,x20);
-    redo x16{rows=1:lng} := bpm.hasMoreElements(_59);
-    redo x20:bat[:oid,:int]{segment=-1,rows=1:lng}  := 
bpm.hasMoreElements(_89);
-exit x16{rows=1:lng};
-exit x20:bat[:oid,:int]{segment=-1,rows=1:lng} ;
-    x20:bat[:oid,:int]{segment=-1,rows=1:lng}  := bpm.fold(_89);
+    x33 := bpm.fold(_45);
+    x19{rows=1:lng} := bpm.fold(_39);
+    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,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    bpm.garbage(bpm13);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
     bpm.garbage(bpm13);
-    bpm.garbage(_41);
-    bpm.garbage(_47);
-    bpm.garbage(_53);
-    bpm.garbage(_59);
 end query;
 
 # 09:41:13 >  

Index: partitions06.mal
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions06.mal,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- partitions06.mal    20 May 2007 07:51:31 -0000      1.1
+++ partitions06.mal    19 Aug 2007 21:02:19 -0000      1.2
@@ -21,7 +21,7 @@
     constraints.emptySet(x10);
     x12:bat[:oid,:int]{notnil=true,rows=0:lng,bid=771}  := 
sql.bind("sys","t","i",2);
     constraints.emptySet(x12);
-    x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772}  := 
sql.bind("sys","t","j",0);
+    x17:bat[:oid,:int]{notnil=true,rows=1:lng,bid=772}  := 
sql.bind("sys","t","j",1);
     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);

Index: partitions01.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions01.stable.out,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- partitions01.stable.out     28 Jul 2007 01:52:04 -0000      1.6
+++ partitions01.stable.out     19 Aug 2007 21:02:18 -0000      1.7
@@ -46,7 +46,7 @@
     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",0);      # 6 MDBdummy 
(x21:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_6: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)
     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])
@@ -65,57 +65,37 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
     bpm.emptySet(bpm10);
-    x21:bat[:oid,:int]{notnil=true,rows=1,bid=815}  := 
sql.bind("sys","x","j",0);
+    x21:bat[:oid,:int]{notnil=true,rows=1,bid=815}  := 
sql.bind("sys","x","j",1);
     bpm13:bat[:oid,:int]  := bpm.unfold(x21);
-    _36 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{notnil=true,rows=1,bid=812}  := 
bpm.newIterator(bpm2);
     x18{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
-    bpm.addPartition(_36,x18);
-    redo x1:bat[:oid,:int]{notnil=true,rows=1,bid=812}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{notnil=true,rows=1,bid=812} ;
-    _42 := bpm.new(:oid,:oid);
-barrier x18{rows=1} := bpm.newIterator(_36);
     x19{rows=1} := bat.reverse(x18);
-    bpm.addPartition(_42,x19);
-    redo x18{rows=1} := bpm.hasMoreElements(_36);
-exit x18{rows=1};
-    _48 := bpm.new(:oid,:int);
-barrier x19{rows=1} := bpm.newIterator(_42);
-barrier x1:bat[:oid,:int]{notnil=true,rows=1,bid=812}  := 
bpm.newIterator(bpm2);
-    x20{segment=-1,rows=1} := algebra.join(x19,x1);
-    bpm.addPartition(_48,x20);
-    redo x1:bat[:oid,:int]{notnil=true,rows=1,bid=812}  := 
bpm.hasMoreElements(bpm2);
-    redo x19{rows=1} := bpm.hasMoreElements(_42);
-exit x1:bat[:oid,:int]{notnil=true,rows=1,bid=812} ;
-exit x19{rows=1};
-    _56 := bpm.new(:oid,:int);
-barrier x19{rows=1} := bpm.newIterator(_42);
+    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);
-    x28{segment=-1,rows=1} := algebra.join(x19,x21);
-    bpm.addPartition(_56,x28);
+    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);
-    redo x19{rows=1} := bpm.hasMoreElements(_42);
 exit x21:bat[:oid,:int]{notnil=true,rows=1,bid=815} ;
-exit x19{rows=1};
-    x20{segment=-1,rows=1} := bpm.fold(_48);
     x29 := sql.resultSet(2,1,x20);
     sql.rsColumn(x29,"sys.x","i","int",32,0,x20);
-    x28{segment=-1,rows=1} := bpm.fold(_56);
+    x28{rows=1} := bpm.fold(_34);
     sql.rsColumn(x29,"sys.x","j","int",32,0,x28);
     sql.exportResult(x29,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    bpm.garbage(bpm13);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
     bpm.garbage(bpm13);
-    bpm.garbage(_36);
-    bpm.garbage(_42);
 end query;
 
 # 09:48:30 >  

Index: partitions07.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions07.stable.out,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- partitions07.stable.out     28 Jul 2007 01:52:04 -0000      1.2
+++ partitions07.stable.out     19 Aug 2007 21:02:19 -0000      1.3
@@ -87,42 +87,17 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
     bpm.emptySet(bpm10);
-    _42 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.newIterator(bpm2);
     x11{rows=1:lng} := algebra.markT(x1,[EMAIL PROTECTED]);
-    bpm.addPartition(_42,x11);
-    redo x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} ;
-    _48 := bpm.new(:oid,:oid);
-barrier x11{rows=1:lng} := bpm.newIterator(_42);
     x12{rows=1:lng} := bat.reverse(x11);
-    bpm.addPartition(_48,x12);
-    redo x11{rows=1:lng} := bpm.hasMoreElements(_42);
-exit x11{rows=1:lng};
-    _54 := bpm.new(:oid,:int);
-barrier x12{rows=1:lng} := bpm.newIterator(_48);
-barrier x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.newIterator(bpm2);
     x13{rows=1:lng} := algebra.join(x12,x1);
-    bpm.addPartition(_54,x13);
-    redo x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-    redo x12{rows=1:lng} := bpm.hasMoreElements(_48);
-exit x1:bat[:oid,:int]{bid=769,rows=1:lng,notnil=true} ;
-exit x12{rows=1:lng};
-    _62 := bpm.new(:oid,:flt);
-barrier x13{rows=1:lng} := bpm.newIterator(_54);
-    x14{segment=-1,rows=1:lng} := batcalc.flt(x13);
-    bpm.addPartition(_62,x14);
-    redo x13{rows=1:lng} := bpm.hasMoreElements(_54);
-exit x13{rows=1:lng};
+    x14{rows=1:lng} := batcalc.flt(x13);
     x31 := bat.new(nil:oid,nil:flt);
-    x14{segment=-1,rows=1:lng} := bpm.fold(_62);
 barrier (x35,x36,x37):= bat.newIterator(x14);
     x39 := mmath.sin(x37);
     bat.insert(x31,x36,x39);
@@ -131,19 +106,17 @@
     redo (x35,x36,x37):= bat.hasMoreElements(x14);
 exit MALException:str ;
 exit (x35,x36,x37);
-    _69 := bpm.new(:oid,:flt);
-    x15:bat[:oid,:flt]{segment=-1}  := x31;
-    bpm.addPartition(_69,x15);
-    x15:bat[:oid,:flt]{segment=-1}  := bpm.fold(_69);
+    x15:bat[:oid,:flt]  := x31;
     x18 := sql.resultSet(1,1,x15);
     sql.rsColumn(x18,"sys.","sinxi","real",24,0,x15);
     sql.exportResult(x18,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
-    bpm.garbage(_42);
-    bpm.garbage(_48);
-    bpm.garbage(_54);
 end query;
 
 # 09:41:13 >  

Index: partitions04.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions04.stable.out,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- partitions04.stable.out     28 Jul 2007 01:52:04 -0000      1.3
+++ partitions04.stable.out     19 Aug 2007 21:02:19 -0000      1.4
@@ -50,7 +50,7 @@
     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",0);     # 6 MDBdummy 
(x13:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_6: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)
     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])
@@ -73,58 +73,38 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
     bpm.emptySet(bpm10);
-    x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
sql.bind("sys","t","j",0);
+    x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
sql.bind("sys","t","j",1);
     bpm13:bat[:oid,:int]  := bpm.unfold(x13);
-    _37 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
     x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
-    bpm.addPartition(_37,x11);
-    redo x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} ;
-    _43 := bpm.new(:oid,:oid);
-barrier x11{rows=1} := bpm.newIterator(_37);
     x12{rows=1} := bat.reverse(x11);
-    bpm.addPartition(_43,x12);
-    redo x11{rows=1} := bpm.hasMoreElements(_37);
-exit x11{rows=1};
-    _49 := bpm.new(:oid,:int);
-barrier x12{rows=1} := bpm.newIterator(_43);
+    _35 := bpm.new(:oid,:int);
 barrier x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
bpm.newIterator(bpm13);
-    x15{segment=-1,rows=1} := algebra.join(x12,x13);
-    bpm.addPartition(_49,x15);
+    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);
-    redo x12{rows=1} := bpm.hasMoreElements(_43);
 exit x13:bat[:oid,:int]{bid=2201,rows=1,notnil=true} ;
-exit x12{rows=1};
-    x16{rows=1} := bpm.sortTail(_49);
-    _57 := bpm.new(:oid,:int);
-barrier x12{rows=1} := bpm.newIterator(_43);
-barrier x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
-    x17{segment=-1,rows=1} := algebra.join(x12,x1);
-    bpm.addPartition(_57,x17);
-    redo x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-    redo x12{rows=1} := bpm.hasMoreElements(_43);
-exit x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} ;
-exit x12{rows=1};
+    x15{rows=1} := bpm.fold(_35);
+    x16{rows=1} := algebra.sortTail(x15);
+    x17{rows=1} := algebra.join(x12,x1);
     x18 := sql.resultSet(2,1,x16);
-    x17{segment=-1,rows=1} := bpm.fold(_57);
     sql.rsColumn(x18,"sys.t","i","int",32,0,x17);
-    x15{segment=-1,rows=1} := bpm.fold(_49);
     sql.rsColumn(x18,"sys.t","j","int",32,0,x15);
     sql.exportResult(x18,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    bpm.garbage(bpm13);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
     bpm.garbage(bpm13);
-    bpm.garbage(_37);
-    bpm.garbage(_43);
 end query;
 
 # 10:36:14 >  

Index: partitions03.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions03.stable.out,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- partitions03.stable.out     28 Jul 2007 01:52:04 -0000      1.3
+++ partitions03.stable.out     19 Aug 2007 21:02:18 -0000      1.4
@@ -83,7 +83,6 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
@@ -91,81 +90,26 @@
     bpm10:bat[:oid,:int]  := bpm.unfold(x8);
     bpm.emptySet(bpm10);
     x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true}  := 
sql.bind("sys","y","j",0);
-    bpm13:bat[:oid,:int]  := bpm.unfold(x16);
-    _43 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
     x11{rows=1} := algebra.markT(x1,[EMAIL PROTECTED]);
-    bpm.addPartition(_43,x11);
-    redo x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true} ;
-    _49 := bpm.new(:oid,:oid);
-barrier x11{rows=1} := bpm.newIterator(_43);
     x12{rows=1} := bat.reverse(x11);
-    bpm.addPartition(_49,x12);
-    redo x11{rows=1} := bpm.hasMoreElements(_43);
-exit x11{rows=1};
-    _55 := bpm.new(:oid,:int);
-barrier x12{rows=1} := bpm.newIterator(_49);
-barrier x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
-    x13{segment=-1,rows=1} := algebra.join(x12,x1);
-    bpm.addPartition(_55,x13);
-    redo x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-    redo x12{rows=1} := bpm.hasMoreElements(_49);
-exit x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true} ;
-exit x12{rows=1};
-    x13{segment=-1,rows=1} := bpm.fold(_55);
+    x13{rows=1} := algebra.join(x12,x1);
     (ext23,grp21):= group.new(x13);
-    _64 := bpm.new(:oid,:int);
-barrier x12{rows=1} := bpm.newIterator(_49);
-barrier x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true}  := 
bpm.newIterator(bpm13);
-    x18{segment=-1,rows=1} := algebra.join(x12,x16);
-    bpm.addPartition(_64,x18);
-    redo x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm13);
-    redo x12{rows=1} := bpm.hasMoreElements(_49);
-exit x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true} ;
-exit x12{rows=1};
-    x18{segment=-1,rows=1} := bpm.fold(_64);
+    x18{rows=1} := algebra.join(x12,x16);
     (ext34,grp32):= group.derive(ext23,grp21,x18);
-    _73 := bpm.new(:oid,:oid);
     x21 := bat.mirror(ext34);
-    bpm.addPartition(_73,x21);
-    _77 := bpm.new(:any,:any);
-barrier x21 := bpm.newIterator(_73);
-barrier x12{rows=1} := bpm.newIterator(_49);
-barrier x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
-    x22{segment=-1} := algebra.joinPath(x21,x12,x1);
-    bpm.addPartition(_77,x22);
-    redo x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-    redo x12{rows=1} := bpm.hasMoreElements(_49);
-    redo x21 := bpm.hasMoreElements(_73);
-exit x1:bat[:oid,:int]{bid=1489,rows=1,notnil=true} ;
-exit x12{rows=1};
-exit x21;
-    _87 := bpm.new(:any,:any);
-barrier x21 := bpm.newIterator(_73);
-barrier x12{rows=1} := bpm.newIterator(_49);
-barrier x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true}  := 
bpm.newIterator(bpm13);
-    x23{segment=-1} := algebra.joinPath(x21,x12,x16);
-    bpm.addPartition(_87,x23);
-    redo x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm13);
-    redo x12{rows=1} := bpm.hasMoreElements(_49);
-    redo x21 := bpm.hasMoreElements(_73);
-exit x16:bat[:oid,:int]{bid=1492,rows=1,notnil=true} ;
-exit x12{rows=1};
-exit x21;
-    _11{segment=-1} := bpm.fold(A0);
-    x22{segment=-1} := bpm.fold(_77);
+    x22 := algebra.joinPath(x21,x12,x1);
+    x23 := algebra.joinPath(x21,x12,x16);
     x24 := sql.resultSet(2,1,x22);
     sql.rsColumn(x24,"sys.y","i","int",32,0,x22);
-    x23{segment=-1} := bpm.fold(_87);
     sql.rsColumn(x24,"sys.y","j","int",32,0,x23);
     sql.exportResult(x24,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
-    bpm.garbage(bpm13);
-    bpm.garbage(_43);
-    bpm.garbage(_49);
 end query;
 
 # 08:13:11 >  

Index: partitions00.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions00.stable.out,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- partitions00.stable.out     28 Jul 2007 01:52:04 -0000      1.6
+++ partitions00.stable.out     19 Aug 2007 21:02:18 -0000      1.7
@@ -32,12 +32,12 @@
 #    sql.exportResult(t14,"");
 #end query;
 function sql.query():void;     # 0  (query:void)
-    t1:bat[:oid,:int]  := sql.bind("sys","t","i",0);   # 1 MDBdummy 
(t1:bat[:oid,:int])<-(_2:str)(_3:str)(_4:str)(_5:int)
+    t1:bat[:oid,:int]  := sql.bind("sys","t","i",1);   # 1 MDBdummy 
(t1:bat[:oid,:int])<-(_2:str)(_3:str)(_4:str)(_5:int)
     t11 := algebra.markT(t1,[EMAIL PROTECTED]);        # 2 ALGtmark 
(t11:bat[:oid,:oid])<-(t1:bat[:oid,:int])(_7:oid)
     t12 := bat.reverse(t11);   # 3 BKCreverse 
(t12:bat[:oid,:oid])<-(t11:bat[:oid,:oid])
     t13 := algebra.join(t12,t1);       # 4 ALGjoin 
(t13:bat[:oid,:int])<-(t12:bat[:oid,:oid])(t1:bat[:oid,:int])
-    t14 := sql.resultSet(1,1,t13);     # 5 MDBdummy 
(t14:void)<-(_11:int)(_11:int)(t13:bat[:oid,:int])
-    sql.rsColumn(t14,"sys.t","i","int",32,0,t13);      # 6 MDBdummy 
(_12:void)<-(t14:void)(_13:str)(_4:str)(_14:str)(_15:int)(_5:int)(t13:bat[:oid,:int])
+    t14 := sql.resultSet(1,1,t13);     # 5 MDBdummy 
(t14:void)<-(_5:int)(_5:int)(t13:bat[:oid,:int])
+    sql.rsColumn(t14,"sys.t","i","int",32,0,t13);      # 6 MDBdummy 
(_11:void)<-(t14:void)(_12:str)(_4:str)(_13:str)(_14:int)(_15:int)(t13:bat[:oid,:int])
     sql.exportResult(t14,"");  # 7 MDBdummy (_16:void)<-(t14:void)(_17:str)
 end query;     # 8  
 #optimizer.partitions("user","query");
@@ -48,7 +48,7 @@
     mdb.list("sql","query");   # 3 MDBlist3 (_6:void)<-(_4:str)(_5:str)
 end main;      # 4  
 function sql.query():void;
-    t1:bat[:oid,:int]  := sql.bind("sys","t","i",0);
+    t1:bat[:oid,:int]  := sql.bind("sys","t","i",1);
     bpm1:bat[:oid,:int]  := bpm.unfold(t1);
     _20 := bpm.new(:oid,:oid);
 barrier t1:bat[:oid,:int]  := bpm.newIterator(bpm1);
@@ -65,16 +65,22 @@
     _32 := bpm.new(:oid,:int);
 barrier t12 := bpm.newIterator(_26);
 barrier t1:bat[:oid,:int]  := bpm.newIterator(bpm1);
-    t13{segment=-1} := algebra.join(t12,t1);
+    t13 := algebra.join(t12,t1);
     bpm.addPartition(_32,t13);
     redo t1:bat[:oid,:int]  := bpm.hasMoreElements(bpm1);
     redo t12 := bpm.hasMoreElements(_26);
 exit t1:bat[:oid,:int] ;
 exit t12;
-    t13{segment=-1} := bpm.fold(_32);
+    t13 := bpm.fold(_32);
     t14 := sql.resultSet(1,1,t13);
     sql.rsColumn(t14,"sys.t","i","int",32,0,t13);
     sql.exportResult(t14,"");
+catch SQLexception;
+    bpm.garbage(bpm1);
+    bpm.garbage(_20);
+    bpm.garbage(_26);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm1);
     bpm.garbage(_20);
     bpm.garbage(_26);

Index: partitions05.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions05.stable.out,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- partitions05.stable.out     28 Jul 2007 01:52:04 -0000      1.3
+++ partitions05.stable.out     19 Aug 2007 21:02:19 -0000      1.4
@@ -51,7 +51,7 @@
     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",0);     # 6 MDBdummy 
(x17:bat[:oid,:int])<-(_3:str)(_4:str)(_14:str)(_6: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)
     x15{rows=1} := bat.reverse(x14);   # 9 BKCreverse 
(x15:bat[:oid,:oid])<-(x14:bat[:oid,:oid])
@@ -75,78 +75,39 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
     bpm.emptySet(bpm10);
-    x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
sql.bind("sys","t","j",0);
+    x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
sql.bind("sys","t","j",1);
     bpm13:bat[:oid,:int]  := bpm.unfold(x17);
-    _41 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
     x7{rows=1} := algebra.uselect(x1,nil:int,2,false,false);
-    bpm.addPartition(_41,x7);
-    redo x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} ;
-    _47 := bpm.new(:oid,:oid);
-barrier x7{rows=1} := bpm.newIterator(_41);
     x14{rows=1} := algebra.markT(x7,[EMAIL PROTECTED]);
-    bpm.addPartition(_47,x14);
-    redo x7{rows=1} := bpm.hasMoreElements(_41);
-exit x7{rows=1};
-    _53 := bpm.new(:oid,:oid);
-barrier x14{rows=1} := bpm.newIterator(_47);
     x15{rows=1} := bat.reverse(x14);
-    bpm.addPartition(_53,x15);
-    redo x14{rows=1} := bpm.hasMoreElements(_47);
-exit x14{rows=1};
-    _59 := bpm.new(:oid,:int);
-barrier x15{rows=1} := bpm.newIterator(_53);
-barrier x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.newIterator(bpm2);
     x16{rows=1} := algebra.join(x15,x1);
-    bpm.addPartition(_59,x16);
-    redo x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-    redo x15{rows=1} := bpm.hasMoreElements(_53);
-exit x1:bat[:oid,:int]{bid=2199,rows=1,notnil=true} ;
-exit x15{rows=1};
-    _67 := bpm.new(:oid,:int);
-barrier x15{rows=1} := bpm.newIterator(_53);
+    _39 := bpm.new(:oid,:int);
 barrier x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
bpm.newIterator(bpm13);
     x19{rows=1} := algebra.join(x15,x17);
-    bpm.addPartition(_67,x19);
+    bpm.addPartition(_39,x19);
     redo x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true}  := 
bpm.hasMoreElements(bpm13);
-    redo x15{rows=1} := bpm.hasMoreElements(_53);
 exit x17:bat[:oid,:int]{bid=2201,rows=1,notnil=true} ;
-exit x15{rows=1};
-    _75 := bpm.new(:oid,:int);
-barrier x16{rows=1} := bpm.newIterator(_59);
     x24:bat[:oid,:int]{rows=1}  := algebra.reuse(x16);
-    bpm.addPartition(_75,x24);
-    redo x16{rows=1} := bpm.hasMoreElements(_59);
-exit x16{rows=1};
-    _81 := bpm.new(:oid,:int);
-barrier x16{rows=1} := bpm.newIterator(_59);
-barrier x19{rows=1} := bpm.newIterator(_67);
-    x20:bat[:oid,:int]{segment=-1,rows=1}  := batcalc.+(x24,x16,x19);
-    bpm.addPartition(_81,x20);
-    redo x19{rows=1} := bpm.hasMoreElements(_67);
-    redo x16{rows=1} := bpm.hasMoreElements(_59);
-exit x19{rows=1};
-exit x16{rows=1};
-    x20:bat[:oid,:int]{segment=-1,rows=1}  := bpm.fold(_81);
+    x19{rows=1} := bpm.fold(_39);
+    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,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    bpm.garbage(bpm13);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
     bpm.garbage(bpm13);
-    bpm.garbage(_41);
-    bpm.garbage(_47);
-    bpm.garbage(_53);
-    bpm.garbage(_59);
 end query;
 
 # 21:11:13 >  

Index: partitions02.stable.out
===================================================================
RCS file: 
/cvsroot/monetdb/MonetDB5/src/optimizer/Tests/partitions02.stable.out,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- partitions02.stable.out     28 Jul 2007 01:52:04 -0000      1.4
+++ partitions02.stable.out     19 Aug 2007 21:02:18 -0000      1.5
@@ -60,32 +60,23 @@
 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);
-    bpm2:bat[:oid,:int]  := bpm.unfold(x1);
     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);
-    _30 := bpm.new(:oid,:oid);
-barrier x1:bat[:oid,:int]{bid=765,rows=0,notnil=true}  := 
bpm.newIterator(bpm2);
     x11{rows=0} := algebra.markT(x1,[EMAIL PROTECTED]);
-    bpm.addPartition(_30,x11);
-    redo x1:bat[:oid,:int]{bid=765,rows=0,notnil=true}  := 
bpm.hasMoreElements(bpm2);
-exit x1:bat[:oid,:int]{bid=765,rows=0,notnil=true} ;
-    _36 := bpm.new(:oid,:oid);
-barrier x11{rows=0} := bpm.newIterator(_30);
     x12{rows=0} := bat.reverse(x11);
-    bpm.addPartition(_36,x12);
-    redo x11{rows=0} := bpm.hasMoreElements(_30);
-exit x11{rows=0};
-    x13{rows=1} := bpm.count(_36);
+    x13{rows=1} := aggr.count(x12);
     sql.exportValue(1,"sys.","countx","int",32,0,6,x13,"");
-    bpm.garbage(bpm2);
+catch SQLexception;
+    bpm.garbage(bpm7);
+    bpm.garbage(bpm10);
+    raise SQLexception;
+exit SQLexception;
     bpm.garbage(bpm7);
     bpm.garbage(bpm10);
-    bpm.garbage(_30);
-    bpm.garbage(_36);
 end query;
 
 # 22:44:54 >  


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to