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

Reply via email to