Changeset: 605ce647607f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=605ce647607f Added Files: monetdb5/tests/gdkTests/Tests/subgroup.mal monetdb5/tests/gdkTests/Tests/subgroup.stable.err monetdb5/tests/gdkTests/Tests/subgroup.stable.out Modified Files: monetdb5/tests/gdkTests/Tests/All Branch: Feb2013 Log Message:
Add test for subgroup. All different algorithms are tested. diffs (truncated from 1178 to 300 lines): diff --git a/monetdb5/tests/gdkTests/Tests/All b/monetdb5/tests/gdkTests/Tests/All --- a/monetdb5/tests/gdkTests/Tests/All +++ b/monetdb5/tests/gdkTests/Tests/All @@ -14,3 +14,4 @@ TMsubcommit void scanselect selecttst +subgroup diff --git a/monetdb5/tests/gdkTests/Tests/subgroup.mal b/monetdb5/tests/gdkTests/Tests/subgroup.mal new file mode 100644 --- /dev/null +++ b/monetdb5/tests/gdkTests/Tests/subgroup.mal @@ -0,0 +1,197 @@ +# prepare a group +g := bat.new(:oid,:oid); +g := bat.append(g,4@0); +g := bat.append(g,3@0); +g := bat.append(g,1@0); +g := bat.append(g,0@0); +g := bat.append(g,3@0); +g := bat.append(g,4@0); +g := bat.append(g,3@0); +g := bat.append(g,2@0); +g := bat.append(g,0@0); +g := bat.append(g,4@0); +g := bat.append(g,0@0); +g := bat.append(g,1@0); +g := bat.append(g,0@0); +g := bat.append(g,3@0); +g := bat.append(g,2@0); +g := bat.append(g,2@0); +g := bat.append(g,2@0); +g := bat.append(g,1@0); +g := bat.append(g,1@0); +g := bat.append(g,4@0); +g := algebra.markH(g, 60@0); +e := bat.new(:oid,:oid); +e := bat.append(e,63@0); +e := bat.append(e,62@0); +e := bat.append(e,67@0); +e := bat.append(e,61@0); +e := bat.append(e,60@0); +h := bat.new(:oid,:wrd); +h := bat.append(h,4:wrd); +h := bat.append(h,4:wrd); +h := bat.append(h,4:wrd); +h := bat.append(h,4:wrd); +h := bat.append(h,4:wrd); + +# group unique values +a1 := bat.new(:oid,:int); +a1 := bat.append(a1,536624655); +a1 := bat.append(a1,1693392427); +a1 := bat.append(a1,-2037140631); +a1 := bat.append(a1,-355661357); +a1 := bat.append(a1,-1722087643); +a1 := bat.append(a1,-780608638); +a1 := bat.append(a1,-419582233); +a1 := bat.append(a1,1786227270); +a1 := bat.append(a1,31954372); +a1 := bat.append(a1,1273518971); +a1 := bat.append(a1,24136356); +a1 := bat.append(a1,449102795); +a1 := bat.append(a1,1963326860); +a1 := bat.append(a1,1520950234); +a1 := bat.append(a1,16781888); +a1 := bat.append(a1,771174490); +a1 := bat.append(a1,-729352063); +a1 := bat.append(a1,1209220787); +a1 := bat.append(a1,-1516718182); +a1 := bat.append(a1,1801595461); +a1 := algebra.tunique(a1); +a1 := algebra.markH(a1, 60@0); +(g1,e1,h1) := group.subgroup(a1); +io.print(a1,g1); +io.print(e1,h1); +(g1,e1,h1) := group.subgroup(a1,g); +io.print(a1,g,g1); +io.print(e1,h1); +(g1,e1,h1) := group.subgroup(a1,g,e,h); +io.print(a1,g,g1); +io.print(e1,h1); + +# group constant values +a2 := bat.new(:oid,:int); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := bat.append(a2,0); +a2 := algebra.markH(a2, 60@0); +(g2,e2,h2) := group.subgroup(a2); +io.print(a2,g2); +io.print(e2,h2); +(g2,e2,h2) := group.subgroup(a2,g); +io.print(a2,g,g2); +io.print(e2,h2); +(g2,e2,h2) := group.subgroup(a2,g,e,h); +io.print(a2,g,g2); +io.print(e2,h2); + +# group ordered values +a3 := bat.new(:oid,:int); +a3 := bat.append(a3,1786227270); +a3 := bat.append(a3,1786227270); +a3 := bat.append(a3,1693392427); +a3 := bat.append(a3,1693392427); +a3 := bat.append(a3,1273518971); +a3 := bat.append(a3,1273518971); +a3 := bat.append(a3,536624655); +a3 := bat.append(a3,536624655); +a3 := bat.append(a3,31954372); +a3 := bat.append(a3,31954372); +a3 := bat.append(a3,-355661357); +a3 := bat.append(a3,-355661357); +a3 := bat.append(a3,-419582233); +a3 := bat.append(a3,-419582233); +a3 := bat.append(a3,-780608638); +a3 := bat.append(a3,-780608638); +a3 := bat.append(a3,-1722087643); +a3 := bat.append(a3,-1722087643); +a3 := bat.append(a3,-2037140631); +a3 := bat.append(a3,-2037140631); +a3 := algebra.subsort(a3,true,true); +a3 := algebra.markH(a3, 60@0); +(g3,e3,h3) := group.subgroup(a3); +io.print(a3,g3); +io.print(e3,h3); +(g3,e3,h3) := group.subgroup(a3,g); +io.print(a3,g,g3); +io.print(e3,h3); +(g3,e3,h3) := group.subgroup(a3,g,e,h); +io.print(a3,g,g3); +io.print(e3,h3); + +# group random non-unique values +a4 := bat.new(:oid,:int); +a4 := bat.append(a4,536624655); +a4 := bat.append(a4,1693392427); +a4 := bat.append(a4,-2037140631); +a4 := bat.append(a4,-355661357); +a4 := bat.append(a4,-1722087643); +a4 := bat.append(a4,-780608638); +a4 := bat.append(a4,-419582233); +a4 := bat.append(a4,1786227270); +a4 := bat.append(a4,31954372); +a4 := bat.append(a4,1273518971); +a4 := bat.append(a4,536624655); +a4 := bat.append(a4,1693392427); +a4 := bat.append(a4,-2037140631); +a4 := bat.append(a4,-355661357); +a4 := bat.append(a4,-1722087643); +a4 := bat.append(a4,-780608638); +a4 := bat.append(a4,-419582233); +a4 := bat.append(a4,1786227270); +a4 := bat.append(a4,31954372); +a4 := bat.append(a4,1273518971); +a4 := algebra.markH(a4, 60@0); +(g4,e4,h4) := group.subgroup(a4); +io.print(a4,g4); +io.print(e4,h4); +(g4,e4,h4) := group.subgroup(a4,g); +io.print(a4,g,g4); +io.print(e4,h4); +(g4,e4,h4) := group.subgroup(a4,g,e,h); +io.print(a4,g,g4); +io.print(e4,h4); + +# group random values with preexisting hash +a4m := bat.reverse(a4); +bat.setHash(a4m,true); +(g4,e4,h4) := group.subgroup(a4); +io.print(a4,g4); +io.print(e4,h4); +(g4,e4,h4) := group.subgroup(a4,g); +io.print(a4,g,g4); +io.print(e4,h4); +(g4,e4,h4) := group.subgroup(a4,g,e,h); +io.print(a4,g,g4); +io.print(e4,h4); + +# group ordered values with ordered group +g := algebra.subsort(g,false,true); +e := bat.new(:oid,:oid); +e := bat.append(e,60@0); +e := bat.append(e,64@0); +e := bat.append(e,68@0); +e := bat.append(e,72@0); +e := bat.append(e,76@0); +(g3,e3,h3) := group.subgroup(a3,g); +io.print(a3,g,g3); +io.print(e3,h3); +(g3,e3,h3) := group.subgroup(a3,g,e,h); +io.print(a3,g,g3); +io.print(e3,h3); diff --git a/monetdb5/tests/gdkTests/Tests/subgroup.stable.err b/monetdb5/tests/gdkTests/Tests/subgroup.stable.err new file mode 100644 --- /dev/null +++ b/monetdb5/tests/gdkTests/Tests/subgroup.stable.err @@ -0,0 +1,29 @@ +stderr of test 'subgroup` in directory 'tests/gdkTests` itself: + + +# 14:06:25 > +# 14:06:25 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=32792" "--set" "mapi_usock=/var/tmp/mtest-6107/.s.monetdb.32792" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_tests_gdkTests" "subgroup.mal" +# 14:06:25 > + +# builtin opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = yes +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 32792 +# cmdline opt mapi_usock = /var/tmp/mtest-6107/.s.monetdb.32792 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_tests_gdkTests + +# 14:06:25 > +# 14:06:25 > "Done." +# 14:06:25 > + diff --git a/monetdb5/tests/gdkTests/Tests/subgroup.stable.out b/monetdb5/tests/gdkTests/Tests/subgroup.stable.out new file mode 100644 --- /dev/null +++ b/monetdb5/tests/gdkTests/Tests/subgroup.stable.out @@ -0,0 +1,929 @@ +stdout of test 'subgroup` in directory 'tests/gdkTests` itself: + + +# 14:06:25 > +# 14:06:25 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=32792" "--set" "mapi_usock=/var/tmp/mtest-6107/.s.monetdb.32792" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_tests_gdkTests" "subgroup.mal" +# 14:06:25 > + +# MonetDB 5 server v11.15.0 (hg id: fa44d3f54fa7+) +# This is an unreleased version +# Serving database 'mTests_tests_gdkTests', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked +# Found 15.629 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2012 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://madrid.ins.cwi.nl:32792/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-6107/.s.monetdb.32792 +# MonetDB/GIS module loaded +# MonetDB/JAQL module loaded +# MonetDB/SQL module loaded +function user.main():void; +# prepare a group + g := bat.new(:oid,:oid); + g := bat.append(g,4@0); + g := bat.append(g,3@0); + g := bat.append(g,1@0); + g := bat.append(g,0@0); + g := bat.append(g,3@0); + g := bat.append(g,4@0); + g := bat.append(g,3@0); + g := bat.append(g,2@0); + g := bat.append(g,0@0); + g := bat.append(g,4@0); + g := bat.append(g,0@0); + g := bat.append(g,1@0); + g := bat.append(g,0@0); + g := bat.append(g,3@0); + g := bat.append(g,2@0); + g := bat.append(g,2@0); + g := bat.append(g,2@0); + g := bat.append(g,1@0); + g := bat.append(g,1@0); + g := bat.append(g,4@0); + g := algebra.markH(g,60@0); + e := bat.new(:oid,:oid); + e := bat.append(e,63@0); + e := bat.append(e,62@0); + e := bat.append(e,67@0); + e := bat.append(e,61@0); + e := bat.append(e,60@0); + h := bat.new(:oid,:wrd); _______________________________________________ checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
