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
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
>
>
--
| Dr. Stefan Manegold | mailto:[EMAIL PROTECTED] |
| 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 |
-------------------------------------------------------------------------
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-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-developers