Re: [Monetdb-developers] [Monetdb-checkins] MonetDB5/src/mal/Tests tst026.stable.out, , 1.5, 1.6 tst1505.stable.out, , 1.25, 1.26 tst220.stable.out, , 1.39, 1.40 tst280.stable.out, , 1.28, 1.29 tst903.stable.out, , 1.52, 1.53
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 |
Stefan Manegold wrote:
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
would indeed be more 'precise' or less of an overshoot. We need to adjust the group count as well.... so might do it in one blow tonight Niels will adjust SQL for this change i have to shop now : (((
participants (2)
-
Martin Kersten
-
Stefan Manegold