On Sat, Sep 06, 2008 at 11:22:09AM +0000, Martin Kersten wrote:
Update of /cvsroot/monetdb/MonetDB5/src/mal/Tests In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv8410/mal/Tests
Modified Files: tst026.stable.out tst1505.stable.out tst220.stable.out tst280.stable.out tst903.stable.out Log Message: The function aggr.count() now returns a lng, because we have to support tables with more then 3G tuples. The grouping operations still assume 32 bits to be sufficient.
Since we (as far as I can tell) can only support ~2G tuples on 32-bit systems, what about using "wrd" instead of "lng", i.e., 32-bit on 32-bit systems & 64-bit on 64-bit systems? In fact, with with Sjoerd recent changes, BAT cardinalities are of type "BUN" which is currently defined as "oid"; hence, BATs are limited ~2G tuples in case of 32-bit OIDs (even/also on 64-bit systems with 32-bit OIDs) --- a VoID column can obvoiusly not handle more in case of 32-bit OIDs ... Stefan
U tst026.stable.out Index: tst026.stable.out =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/Tests/tst026.stable.out,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- tst026.stable.out 28 Aug 2008 05:59:11 -0000 1.5 +++ tst026.stable.out 6 Sep 2008 11:21:53 -0000 1.6 @@ -18,24 +18,27 @@ cnt := 0:lng; # 2 cnt:lng := _5:lng barrier d := true; # 3 d:bit := _7:bit {J11} f := 1; # 4 f:int := _9:int - cnt := aggr.count(b); # 5 cnt:lng := aggr.count(b:bat[:oid,:int]) {U} + cnt := aggr.count(b); # 5 cnt:lng := ALGcount_bat(b:bat[:oid,:int]) redo d := false; # 6 d:bit := _10:bit {J4} barrier e := true; # 7 e:bit := _7:bit {J9} g := 1; # 8 g:int := _9:int exit e; # 9 e:bit io.print(g); # 10 _13:void := IOprint_val(g:int) exit d; # 11 d:bit - cnt := aggr.count(b); # 12 cnt:lng := aggr.count(b:bat[:oid,:int]) {U} + cnt := aggr.count(b); # 12 cnt:lng := ALGcount_bat(b:bat[:oid,:int]) id := calc.oid(cnt); # 13 id:oid := CALClng2oid(cnt:lng) io.print(f); # 14 _15:void := IOprint_val(f:int) io.print(g); # 15 _16:void := IOprint_val(g:int) end foo; # 16
function user.main():void; # 0 main:void := user.main() - user.foo(); # 1 _1:void := user.foo() {U} + user.foo(); # 1 _1:void := user.foo() end main; # 2 +[ 1 ] +[ 1 ] +[ 1 ]
-# 12:49:32 > -# 12:49:32 > Done. -# 12:49:32 > +# 08:57:31 > +# 08:57:31 > Done. +# 08:57:31 >
U tst1505.stable.out Index: tst1505.stable.out =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/Tests/tst1505.stable.out,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- tst1505.stable.out 9 Aug 2008 16:52:00 -0000 1.25 +++ tst1505.stable.out 6 Sep 2008 11:21:56 -0000 1.26 @@ -82,9 +82,9 @@ io.print(y); # 18 _23:void := IOprint_val(y:bat[:oid,:dbl]) z := batcalc.<(y,2:dbl); # 19 z:bat[:oid,:bit] := CMD_LT_dbl_cst(y:bat[:oid,:dbl], _25:dbl) {G} io.print(z); # 20 _26:void := IOprint_val(z:bat[:oid,:bit]) - c := aggr.count(z); # 21 c:int := ALGcount_bat(z:bat[:oid,:bit]) + c := aggr.count(z); # 21 c:lng := ALGcount_bat(z:bat[:oid,:bit]) io.print("count"); # 22 _28:void := IOprint_val(_29:str) - io.print(c); # 23 _30:void := IOprint_val(c:int) + io.print(c); # 23 _30:void := IOprint_val(c:lng) x := bat.new(:oid,:bit); # 24 x:bat[:oid,:bit] := CMDBATnew(_2:oid, _32:bit) {G} bat.append(x,true); # 25 _33:bat[:bit,:any] := BKCappend_val_wrap(x:bat[:oid,:bit], _34:bit) {G} bat.append(x,false); # 26 _35:bat[:bit,:any] := BKCappend_val_wrap(x:bat[:oid,:bit], _36:bit) {G}
U tst903.stable.out Index: tst903.stable.out =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/Tests/tst903.stable.out,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- tst903.stable.out 12 Aug 2008 14:08:50 -0000 1.52 +++ tst903.stable.out 6 Sep 2008 11:22:05 -0000 1.53 @@ -151,22 +151,22 @@ t1 := alarm.usec(); # 20 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 21 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#copy %d",d0); # 22 _25:void := IOprint_formatted_lng(_26:str, d0:lng) - cnt := aggr.count(c); # 23 cnt:int := ALGcount_bat(c:bat[:oid,:lng]) - io.printf("#count %d\n",cnt); # 24 _28:void := IOprint_formatted_int(_29:str, cnt:int) + cnt := aggr.count(c); # 23 cnt:lng := ALGcount_bat(c:bat[:oid,:lng]) + io.printf("#count %d\n",cnt); # 24 _28:void := IOprint_formatted_lng(_29:str, cnt:lng) t0 := alarm.usec(); # 25 t0:lng := ALARMusec() z := algebra.select(b,25:lng,25:lng);# 26 z:bat[:oid,:lng] := ALGselect(b:bat[:oid,:lng], _31:lng, _31:lng) {G} t1 := alarm.usec(); # 27 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 28 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select none %d",d0); # 29 _32:void := IOprint_formatted_lng(_33:str, d0:lng) - cnt := aggr.count(z); # 30 cnt:int := ALGcount_bat(z:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 31 _34:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z); # 30 cnt:lng := ALGcount_bat(z:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 31 _34:void := IOprint_formatted_lng(_35:str, cnt:lng) t0 := alarm.usec(); # 32 t0:lng := ALARMusec() z2 := algebra.select(b,mi,mx); # 33 z2:bat[:oid,:lng] := ALGselect(b:bat[:oid,:lng], mi:lng, mx:lng) {G} t1 := alarm.usec(); # 34 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 35 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select all %d",d0); # 36 _37:void := IOprint_formatted_lng(_38:str, d0:lng) - cnt := aggr.count(z2); # 37 cnt:int := ALGcount_bat(z2:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 38 _39:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z2); # 37 cnt:lng := ALGcount_bat(z2:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 38 _39:void := IOprint_formatted_lng(_35:str, cnt:lng) rng := calc.-(mx,mi); # 39 rng:lng := CALCbinarySUBlnglng(mx:lng, mi:lng) r2 := calc./(rng,20); # 40 r2:lng := CALCbinarycheckDIVlngint(rng:lng, _42:int) r3 := calc.+(mi,r2); # 41 r3:lng := CALCbinaryADDlnglng(mi:lng, r2:lng) @@ -175,8 +175,8 @@ t1 := alarm.usec(); # 44 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 45 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 0.05 %d",d0); # 46 _45:void := IOprint_formatted_lng(_46:str, d0:lng) - cnt := aggr.count(z3); # 47 cnt:int := ALGcount_bat(z3:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 48 _47:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z3); # 47 cnt:lng := ALGcount_bat(z3:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 48 _47:void := IOprint_formatted_lng(_35:str, cnt:lng) r2 := calc./(rng,10); # 49 r2:lng := CALCbinarycheckDIVlngint(rng:lng, _48:int) r3 := calc.+(mi,r2); # 50 r3:lng := CALCbinaryADDlnglng(mi:lng, r2:lng) t0 := alarm.usec(); # 51 t0:lng := ALARMusec() @@ -184,8 +184,8 @@ t1 := alarm.usec(); # 53 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 54 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 0.1 %d",d0); # 55 _50:void := IOprint_formatted_lng(_51:str, d0:lng) - cnt := aggr.count(z4); # 56 cnt:int := ALGcount_bat(z4:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 57 _52:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z4); # 56 cnt:lng := ALGcount_bat(z4:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 57 _52:void := IOprint_formatted_lng(_35:str, cnt:lng) r2 := calc./(rng,5); # 58 r2:lng := CALCbinarycheckDIVlngint(rng:lng, _53:int) r3 := calc.+(mi,r2); # 59 r3:lng := CALCbinaryADDlnglng(mi:lng, r2:lng) t0 := alarm.usec(); # 60 t0:lng := ALARMusec() @@ -193,49 +193,49 @@ t1 := alarm.usec(); # 62 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 63 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 0.2 %d",d0); # 64 _55:void := IOprint_formatted_lng(_56:str, d0:lng) - cnt := aggr.count(z5); # 65 cnt:int := ALGcount_bat(z5:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 66 _57:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z5); # 65 cnt:lng := ALGcount_bat(z5:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 66 _57:void := IOprint_formatted_lng(_35:str, cnt:lng) r3 := calc.+(r3,r2); # 67 r3:lng := CALCbinaryADDlnglng(r3:lng, r2:lng) t0 := alarm.usec(); # 68 t0:lng := ALARMusec() z6 := algebra.select(b,mi,r3); # 69 z6:bat[:oid,:lng] := ALGselect(b:bat[:oid,:lng], mi:lng, r3:lng) {G} t1 := alarm.usec(); # 70 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 71 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 0.4 %d",d0); # 72 _59:void := IOprint_formatted_lng(_60:str, d0:lng) - cnt := aggr.count(z6); # 73 cnt:int := ALGcount_bat(z6:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 74 _61:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z6); # 73 cnt:lng := ALGcount_bat(z6:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 74 _61:void := IOprint_formatted_lng(_35:str, cnt:lng) r3 := calc.+(r3,r2); # 75 r3:lng := CALCbinaryADDlnglng(r3:lng, r2:lng) t0 := alarm.usec(); # 76 t0:lng := ALARMusec() z7 := algebra.select(b,mi,r3); # 77 z7:bat[:oid,:lng] := ALGselect(b:bat[:oid,:lng], mi:lng, r3:lng) {G} t1 := alarm.usec(); # 78 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 79 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 0.6 %d",d0); # 80 _63:void := IOprint_formatted_lng(_64:str, d0:lng) - cnt := aggr.count(z7); # 81 cnt:int := ALGcount_bat(z7:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 82 _65:void := IOprint_formatted_int(_35:str, cnt:int) + cnt := aggr.count(z7); # 81 cnt:lng := ALGcount_bat(z7:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 82 _65:void := IOprint_formatted_lng(_35:str, cnt:lng) r3 := calc.+(r3,r2); # 83 r3:lng := CALCbinaryADDlnglng(r3:lng, r2:lng) t0 := alarm.usec(); # 84 t0:lng := ALARMusec() z8 := algebra.select(b,mi,r3); # 85 z8:bat[:oid,:lng] := ALGselect(b:bat[:oid,:lng], mi:lng, r3:lng) {G} t1 := alarm.usec(); # 86 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 87 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 0.8 %d",d0); # 88 _67:void := IOprint_formatted_lng(_68:str, d0:lng) - cnt := aggr.count(z8); # 89 cnt:int := ALGcount_bat(z8:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 90 _69:void := IOprint_formatted_int(_70:str, cnt:int) + cnt := aggr.count(z8); # 89 cnt:lng := ALGcount_bat(z8:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 90 _69:void := IOprint_formatted_lng(_70:str, cnt:lng) r3 := calc.+(r3,r2); # 91 r3:lng := CALCbinaryADDlnglng(r3:lng, r2:lng) t0 := alarm.usec(); # 92 t0:lng := ALARMusec() z9 := algebra.select(b,mi,r3); # 93 z9:bat[:oid,:lng] := ALGselect(b:bat[:oid,:lng], mi:lng, r3:lng) {G} t1 := alarm.usec(); # 94 t1:lng := ALARMusec() d0 := calc.-(t1,t0); # 95 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#select 1.0 %d",d0); # 96 _72:void := IOprint_formatted_lng(_73:str, d0:lng) - cnt := aggr.count(z9); # 97 cnt:int := ALGcount_bat(z9:bat[:oid,:lng]) - io.printf(" count %d\n",cnt); # 98 _74:void := IOprint_formatted_int(_70:str, cnt:int) + cnt := aggr.count(z9); # 97 cnt:lng := ALGcount_bat(z9:bat[:oid,:lng]) + io.printf(" count %d\n",cnt); # 98 _74:void := IOprint_formatted_lng(_70:str, cnt:lng) t0 := alarm.usec(); # 99 t0:lng := ALARMusec() sr := bat.reverse(b); #100 sr:bat[:lng,:oid] := BKCreverse(b:bat[:oid,:lng]) {G} s := algebra.sort(sr); #101 s:bat[:lng,:oid] := ALGhsort(sr:bat[:lng,:oid]) {G} t1 := alarm.usec(); #102 t1:lng := ALARMusec() d0 := calc.-(t1,t0); #103 d0:lng := CALCbinarySUBlnglng(t1:lng, t0:lng) io.printf("#head sort %d",d0); #104 _77:void := IOprint_formatted_lng(_78:str, d0:lng) - cnt := aggr.count(s); #105 cnt:int := ALGcount_bat(s:bat[:lng,:oid]) - io.printf(" count %d\n",cnt); #106 _79:void := IOprint_formatted_int(_70:str, cnt:int) - cnt := aggr.count(z9); #107 cnt:int := ALGcount_bat(z9:bat[:oid,:lng]) + cnt := aggr.count(s); #105 cnt:lng := ALGcount_bat(s:bat[:lng,:oid]) + io.printf(" count %d\n",cnt); #106 _79:void := IOprint_formatted_lng(_70:str, cnt:lng) + cnt := aggr.count(z9); #107 cnt:lng := ALGcount_bat(z9:bat[:oid,:lng]) t0 := alarm.usec(); #108 t0:lng := ALARMusec() _87 := bat.new(nil:oid,nil:lng); #109 _87:bat[:oid,:lng] := CMDBATnew(_88:oid, _89:lng) {G} barrier (_91,_92,_93) := bat.newIterator(b);#110 (_91:lng, _92:oid, _93:lng) := CHPbunIterator(b:bat[:oid,:lng]) {J115}
U tst220.stable.out Index: tst220.stable.out =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/Tests/tst220.stable.out,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- tst220.stable.out 18 Aug 2008 17:54:50 -0000 1.39 +++ tst220.stable.out 6 Sep 2008 11:22:03 -0000 1.40 @@ -93,7 +93,7 @@ io.printf("after assignment refcount =%d[2]\n",i);# 12 _15:void := IOprint_formatted_int(_16:str, i:int) #re-use a bat variable b3 := b; # 14 b3:bat[:int,:str] := b:bat[:int,:str] {G} - cnt := aggr.count(b3); # 15 cnt:int := ALGcount_bat(b3:bat[:int,:str]) + cnt := aggr.count(b3); # 15 cnt:lng := ALGcount_bat(b3:bat[:int,:str]) # forced use i := bbp.getLRefCount(b); # 17 i:int := CMDgetBATlrefcnt(b:bat[:int,:str]) io.printf("after 2nd assignment refcount =%d[3]\n",i);# 18 _21:void := IOprint_formatted_int(_22:str, i:int)
U tst280.stable.out Index: tst280.stable.out =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/Tests/tst280.stable.out,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- tst280.stable.out 12 Aug 2008 14:08:47 -0000 1.28 +++ tst280.stable.out 6 Sep 2008 11:22:04 -0000 1.29 @@ -47,9 +47,9 @@ function user.tst(A2:bat[:oid,:int],A3:bat[:oid,:int]):bat[:oid,:int];# 0 tst:bat[:oid,:int] := user.tst(A2:bat[:oid,:int], A3:bat[:oid,:int]) {G} io.print(A2); # 1 _3:void := IOprint_val(A2:bat[:oid,:int]) resB := bat.new(:oid,:int); # 2 resB:bat[:oid,:int] := CMDBATnew(_5:oid, _6:int) {G} - lim := aggr.count(A2); # 3 lim:int := ALGcount_bat(A2:bat[:oid,:int]) - io.printf("count %d\n",lim); # 4 _8:void := IOprint_formatted_int(_9:str, lim:int) - l := calc.lng(lim); # 5 l:lng := CALCint2lng(lim:int) + lim := aggr.count(A2); # 3 lim:lng := ALGcount_bat(A2:bat[:oid,:int]) + io.printf("count %d\n",lim); # 4 _8:void := IOprint_formatted_lng(_9:str, lim:lng) + l := calc.lng(lim); # 5 l:lng := CALClng2lng(lim:lng) barrier (mloop,m) := language.newRange(0:lng);# 6 (mloop:bit, m:lng) := RNGnewRange_lng(_13:lng) {J17} io.printf("loopindex %d\n",m); # 7 _14:void := IOprint_formatted_lng(_15:str, m:lng) B2 := algebra.fetch(A2,m); # 8 B2:int := ALGfetch(A2:bat[:oid,:int], m:lng)
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |