Changeset: 505631997ab0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=505631997ab0 Added Files: monetdb5/modules/mosaic/Tests/mosaic_mix2.malC monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.err monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.out Modified Files: monetdb5/modules/mosaic/Tests/All monetdb5/modules/mosaic/mosaic_dictionary.h Branch: mosaic Log Message:
Fix ptr bug plus add a test for it. diffs (210 lines): diff --git a/monetdb5/modules/mosaic/Tests/All b/monetdb5/modules/mosaic/Tests/All --- a/monetdb5/modules/mosaic/Tests/All +++ b/monetdb5/modules/mosaic/Tests/All @@ -1,5 +1,6 @@ mosaic_runlength mosaic_mix +mosaic_mix2 mosaic_dict mosaic_dict256 mosaic_delta diff --git a/monetdb5/modules/mosaic/Tests/mosaic_mix2.malC b/monetdb5/modules/mosaic/Tests/mosaic_mix2.malC new file mode 100644 --- /dev/null +++ b/monetdb5/modules/mosaic/Tests/mosaic_mix2.malC @@ -0,0 +1,59 @@ +a:= bat.new(:int); + +bat.append(a,17:int); +bat.append(a,5:int); +bat.append(a,1:int); +bat.append(a,15:int); +bat.append(a,11:int); +bat.append(a,14:int); +bat.append(a,23:int); +bat.append(a,17:int); +bat.append(a,10:int); +bat.append(a,24:int); +bat.append(a,18:int); +bat.append(a,8:int); +bat.append(a,3:int); +bat.append(a,15:int); +bat.append(a,8:int); +bat.append(a,22:int); +bat.append(a,19:int); +bat.append(a,16:int); +bat.append(a,24:int); +bat.append(a,3:int); +bat.append(a,2:int); +bat.append(a,4:int); +bat.append(a,9:int); +bat.append(a,0:int); +bat.append(a,22:int); +bat.append(a,21:int); +bat.append(a,18:int); +bat.append(a,0:int); +bat.append(a,1:int); +bat.append(a,16:int); +bat.append(a,16:int); +bat.append(a,23:int); +bat.append(a,7:int); +bat.append(a,10:int); +bat.append(a,21:int); +bat.append(a,13:int); +bat.append(a,0:int); +bat.append(a,4:int); +bat.append(a,8:int); +bat.append(a,22:int); +bat.append(a,18:int); +bat.append(a,22:int); +bat.append(a,12:int); +bat.append(a,7:int); +bat.append(a,9:int); +bat.append(a,24:int); +bat.append(a,14:int); +bat.append(a,14:int); +bat.append(a,24:int); +bat.append(a,9:int); +bat.append(a,9:int); +bat.append(a,19:int); + +mosaic.compress(a, "dict256 linear"); +c := mosaic.decompress(a); +eq := batcalc.==(a, c, true:bit); +io.print(a, c, eq); diff --git a/monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.err b/monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.err new file mode 100644 --- /dev/null +++ b/monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.err @@ -0,0 +1,31 @@ +stderr of test 'mosaic_mix2` in directory 'monetdb5/modules/mosaic` itself: + + +# 14:20:22 > +# 14:20:22 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31724" "--set" "mapi_usock=/var/tmp/mtest-28537/.s.monetdb.31724" "--forcemito" "--dbpath=/home/aris/sources/monetdb/build/installation/var/MonetDB/mTests_monetdb5_modules_mosaic" "--set" "embedded_c=true" +# 14:20:22 > + +# builtin opt gdk_dbpath = /home/aris/sources/monetdb/build/installation/var/monetdb5/dbfarm/demo +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_ipv6 = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# builtin opt raw_strings = false +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 31724 +# cmdline opt mapi_usock = /var/tmp/mtest-28537/.s.monetdb.31724 +# cmdline opt gdk_dbpath = /home/aris/sources/monetdb/build/installation/var/MonetDB/mTests_monetdb5_modules_mosaic +# cmdline opt embedded_c = true + +# 14:20:22 > +# 14:20:22 > "mclient" "-lmal" "-ftest" "-tnone" "-Eutf-8" "--host=/var/tmp/mtest-28537" "--port=31724" +# 14:20:22 > + + +# 14:20:22 > +# 14:20:22 > "Done." +# 14:20:22 > + diff --git a/monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.out b/monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.out new file mode 100644 --- /dev/null +++ b/monetdb5/modules/mosaic/Tests/mosaic_mix2.stable.out @@ -0,0 +1,84 @@ +stdout of test 'mosaic_mix2` in directory 'monetdb5/modules/mosaic` itself: + + +# 14:20:22 > +# 14:20:22 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31724" "--set" "mapi_usock=/var/tmp/mtest-28537/.s.monetdb.31724" "--forcemito" "--dbpath=/home/aris/sources/monetdb/build/installation/var/MonetDB/mTests_monetdb5_modules_mosaic" "--set" "embedded_c=true" +# 14:20:22 > + +# MonetDB 5 server v11.36.0 (hg id: 7b8c6f490ac1+) +# This is an unreleased version +# Serving database 'mTests_monetdb5_modules_mosaic', using 8 threads +# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers +# Found 15.347 GiB available main-memory of which we use 12.508 GiB +# Copyright (c) 1993 - July 2008 CWI. +# Copyright (c) August 2008 - 2019 MonetDB B.V., all rights reserved +# Visit https://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://aris-XPS-13-9380:31724/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-28537/.s.monetdb.31724 +# MonetDB/SQL module loaded + +# 14:20:22 > +# 14:20:22 > "mclient" "-lmal" "-ftest" "-tnone" "-Eutf-8" "--host=/var/tmp/mtest-28537" "--port=31724" +# 14:20:22 > + +#--------------------------# +# t t t t # name +# void int int bit # type +#--------------------------# +[ 0@0, 17, 17, true ] +[ 1@0, 5, 5, true ] +[ 2@0, 1, 1, true ] +[ 3@0, 15, 15, true ] +[ 4@0, 11, 11, true ] +[ 5@0, 14, 14, true ] +[ 6@0, 23, 23, true ] +[ 7@0, 17, 17, true ] +[ 8@0, 10, 10, true ] +[ 9@0, 24, 24, true ] +[ 10@0, 18, 18, true ] +[ 11@0, 8, 8, true ] +[ 12@0, 3, 3, true ] +[ 13@0, 15, 15, true ] +[ 14@0, 8, 8, true ] +[ 15@0, 22, 22, true ] +[ 16@0, 19, 19, true ] +[ 17@0, 16, 16, true ] +[ 18@0, 24, 24, true ] +[ 19@0, 3, 3, true ] +[ 20@0, 2, 2, true ] +[ 21@0, 4, 4, true ] +[ 22@0, 9, 9, true ] +[ 23@0, 0, 0, true ] +[ 24@0, 22, 22, true ] +[ 25@0, 21, 21, true ] +[ 26@0, 18, 18, true ] +[ 27@0, 0, 0, true ] +[ 28@0, 1, 1, true ] +[ 29@0, 16, 16, true ] +[ 30@0, 16, 16, true ] +[ 31@0, 23, 23, true ] +[ 32@0, 7, 7, true ] +[ 33@0, 10, 10, true ] +[ 34@0, 21, 21, true ] +[ 35@0, 13, 13, true ] +[ 36@0, 0, 0, true ] +[ 37@0, 4, 4, true ] +[ 38@0, 8, 8, true ] +[ 39@0, 22, 22, true ] +[ 40@0, 18, 18, true ] +[ 41@0, 22, 22, true ] +[ 42@0, 12, 12, true ] +[ 43@0, 7, 7, true ] +[ 44@0, 9, 9, true ] +[ 45@0, 24, 24, true ] +[ 46@0, 14, 14, true ] +[ 47@0, 14, 14, true ] +[ 48@0, 24, 24, true ] +[ 49@0, 9, 9, true ] +[ 50@0, 9, 9, true ] +[ 51@0, 19, 19, true ] + +# 14:20:22 > +# 14:20:22 > "Done." +# 14:20:22 > + diff --git a/monetdb5/modules/mosaic/mosaic_dictionary.h b/monetdb5/modules/mosaic/mosaic_dictionary.h --- a/monetdb5/modules/mosaic/mosaic_dictionary.h +++ b/monetdb5/modules/mosaic/mosaic_dictionary.h @@ -229,6 +229,7 @@ typedef struct {\ TPE* dict = GET_FINAL_DICT(task, NAME, TPE);\ TPE* dest = (TPE*) (task)->src;\ decompress_dictionary_##TPE(dict, bits, base, cnt, &dest);\ + (task)->src = (char*) dest;\ } #define scan_loop_dictionary(NAME, TPE, CANDITER_NEXT, TEST) {\ _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
