Changeset: 13896bdb0b0e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=13896bdb0b0e Added Files: sql/test/mapi/Tests/mal_int128.malC sql/test/mapi/Tests/mal_int128.stable.err sql/test/mapi/Tests/mal_int128.stable.out sql/test/mapi/Tests/sql_dec38.sql sql/test/mapi/Tests/sql_dec38.stable.err sql/test/mapi/Tests/sql_dec38.stable.out sql/test/mapi/Tests/sql_int128.sql sql/test/mapi/Tests/sql_int128.stable.err sql/test/mapi/Tests/sql_int128.stable.out Modified Files: sql/test/mapi/Tests/All sql/test/mapi/Tests/php_int128.php sql/test/mapi/Tests/php_int128.stable.out Branch: int128 Log Message:
added MAL & SQL tests for 128-bit integers (hge / HUGEINT); there is still some bug / hidden down-cast to lng (?) ! diffs (truncated from 488 to 300 lines): diff --git a/sql/test/mapi/Tests/All b/sql/test/mapi/Tests/All --- a/sql/test/mapi/Tests/All +++ b/sql/test/mapi/Tests/All @@ -13,5 +13,8 @@ utf8test HAVE_PYTHON2?python2_test_monetdb_sql HAVE_PYTHON3?python3_test_monetdb_sql HAVE_PHP?php_int64_dec18 +HAVE_HGE?mal_int128 +HAVE_HGE?sql_int128 HAVE_PHP&HAVE_HGE?php_int128 +HAVE_HGE?sql_dec38 HAVE_PHP&HAVE_HGE?php_dec38 diff --git a/sql/test/mapi/Tests/mal_int128.malC b/sql/test/mapi/Tests/mal_int128.malC new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/mal_int128.malC @@ -0,0 +1,18 @@ +a:hge := 1234567890987654321:hge; +b:hge := 10000000000:hge; +c:hge := calc.*(a,b); +d:hge := calc.*(c,b); +e:hge := calc.+(d,a); +io.print(a); +io.print(b); +io.print(c); +io.print(d); +io.print(e); +io.print(123456789098765432101234567890987654321); +io.print(123456789098765432101234567890987654321H); +io.print(123456789098765432101234567890987654321:hge); +z := bat.new(:oid,:hge); +z := bat.append(z,123456789098765432101234567890987654321); +z := bat.append(z,123456789098765432101234567890987654321H); +z := bat.append(z,123456789098765432101234567890987654321:hge); +io.print(z); diff --git a/sql/test/mapi/Tests/mal_int128.stable.err b/sql/test/mapi/Tests/mal_int128.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/mal_int128.stable.err @@ -0,0 +1,35 @@ +stderr of test 'mal_int128` in directory 'sql/test/mapi` itself: + + +# 00:13:32 > +# 00:13:32 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36379" "--set" "mapi_usock=/var/tmp/mtest-22592/.s.monetdb.36379" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi" "--set" "mal_listing=2" +# 00:13:32 > + +# builtin opt gdk_dbpath = /ufs/manegold/_/Monet/HG/int128/prefix/_/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# 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 = 36379 +# cmdline opt mapi_usock = /var/tmp/mtest-22592/.s.monetdb.36379 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi +# cmdline opt mal_listing = 2 + +# 00:13:32 > +# 00:13:32 > "mclient" "-lmal" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-22592" "--port=36379" +# 00:13:32 > + + +# 00:13:32 > +# 00:13:32 > "Done." +# 00:13:32 > + diff --git a/sql/test/mapi/Tests/mal_int128.stable.out b/sql/test/mapi/Tests/mal_int128.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/mal_int128.stable.out @@ -0,0 +1,55 @@ +stdout of test 'mal_int128` in directory 'sql/test/mapi` itself: + + +# 07:30:43 > +# 07:30:43 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=34256" "--set" "mapi_usock=/var/tmp/mtest-20272/.s.monetdb.34256" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi" "--set" "mal_listing=2" +# 07:30:43 > + +# MonetDB 5 server v11.17.17 "Jan2014-SP2" +# Serving database 'mTests_sql_test_mapi', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.591 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2014 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://rome.ins.cwi.nl:34256/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-20272/.s.monetdb.34256 +# MonetDB/GIS module loaded +# MonetDB/JAQL module loaded +# MonetDB/SQL module loaded + +Ready. + +# 07:30:43 > +# 07:30:43 > "mclient" "-lmal" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-20272" "--port=34256" +# 07:30:43 > + +#io.print(a); +[ 1234567890987654321 ] +#io.print(b); +[ 10000000000 ] +#io.print(c); +[ 12345678909876543210000000000 ] +#io.print(d); +[ 123456789098765432100000000000000000000 ] +#io.print(e); +[ 123456789098765432101234567890987654321 ] +#io.print(123456789098765432101234567890987654321); +[ 123456789098765432101234567890987654321 ] +#io.print(123456789098765432101234567890987654321H); +[ 123456789098765432101234567890987654321 ] +#io.print(123456789098765432101234567890987654321:hge); +[ 123456789098765432101234567890987654321 ] +#io.print(z); +#--------------------------# +# h t # name +# void hge # type +#--------------------------# +[ 0@0, 123456789098765432101234567890987654321 ] +[ 1@0, 123456789098765432101234567890987654321 ] +[ 2@0, 123456789098765432101234567890987654321 ] + +# 07:30:43 > +# 07:30:43 > "Done." +# 07:30:43 > + diff --git a/sql/test/mapi/Tests/php_int128.php b/sql/test/mapi/Tests/php_int128.php --- a/sql/test/mapi/Tests/php_int128.php +++ b/sql/test/mapi/Tests/php_int128.php @@ -9,7 +9,7 @@ while ( $row = monetdb_fetch_assoc($res) $res = monetdb_query('CREATE TABLE php_int128 (i HUGEINT);') or die(monetdb_last_error()); while ( $row = monetdb_fetch_assoc($res) ) { print_r($row); } -$res = monetdb_query('INSERT INTO php_int128 VALUES (123456789012345678909876543210987654321);') or die(monetdb_last_error()); +$res = monetdb_query('INSERT INTO php_int128 VALUES (123456789098765432101234567890987654321);') or die(monetdb_last_error()); while ( $row = monetdb_fetch_assoc($res) ) { print_r($row); } $res = monetdb_query('SELECT * FROM php_int128;') or die(monetdb_last_error()); diff --git a/sql/test/mapi/Tests/php_int128.stable.out b/sql/test/mapi/Tests/php_int128.stable.out --- a/sql/test/mapi/Tests/php_int128.stable.out +++ b/sql/test/mapi/Tests/php_int128.stable.out @@ -60,10 +60,10 @@ Ready. Array ( - [i] => 123456789012345678909876543210987654321, + [i] => 123456789098765432101234567890987654321, ) i -123456789012345678909876543210987654321, +123456789098765432101234567890987654321, # 16:20:35 > # 16:20:35 > "Done." diff --git a/sql/test/mapi/Tests/sql_dec38.sql b/sql/test/mapi/Tests/sql_dec38.sql new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/sql_dec38.sql @@ -0,0 +1,4 @@ +START TRANSACTION; +CREATE TABLE sql_dec38 (d38_0 DECIMAL(38,0), d38_19 DECIMAL(38,19), d38_38 DECIMAL(38,38)); +INSERT INTO sql_dec38 VALUES (12345678901234567899876543210987654321, 1234567890123456789.9876543210987654321, .12345678901234567899876543210987654321); +SELECT * FROM sql_dec38; diff --git a/sql/test/mapi/Tests/sql_dec38.stable.err b/sql/test/mapi/Tests/sql_dec38.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/sql_dec38.stable.err @@ -0,0 +1,35 @@ +stderr of test 'sql_dec38` in directory 'sql/test/mapi` itself: + + +# 23:45:59 > +# 23:45:59 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39955" "--set" "mapi_usock=/var/tmp/mtest-8999/.s.monetdb.39955" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi" "--set" "mal_listing=0" +# 23:45:59 > + +# builtin opt gdk_dbpath = /ufs/manegold/_/Monet/HG/int128/prefix/_/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# 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 = 39955 +# cmdline opt mapi_usock = /var/tmp/mtest-8999/.s.monetdb.39955 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi +# cmdline opt mal_listing = 0 + +# 23:45:59 > +# 23:45:59 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-8999" "--port=39955" +# 23:45:59 > + + +# 23:45:59 > +# 23:45:59 > "Done." +# 23:45:59 > + diff --git a/sql/test/mapi/Tests/sql_dec38.stable.out b/sql/test/mapi/Tests/sql_dec38.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/sql_dec38.stable.out @@ -0,0 +1,41 @@ +stdout of test 'sql_dec38` in directory 'sql/test/mapi` itself: + + +# 23:45:59 > +# 23:45:59 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39955" "--set" "mapi_usock=/var/tmp/mtest-8999/.s.monetdb.39955" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi" "--set" "mal_listing=0" +# 23:45:59 > + +# MonetDB 5 server v11.17.17 "Jan2014-SP2" +# Serving database 'mTests_sql_test_mapi', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.591 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2014 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://rome.ins.cwi.nl:39955/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-8999/.s.monetdb.39955 +# MonetDB/GIS module loaded +# MonetDB/JAQL module loaded +# MonetDB/SQL module loaded + +Ready. + +# 23:45:59 > +# 23:45:59 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-8999" "--port=39955" +# 23:45:59 > + +#START TRANSACTION; +#CREATE TABLE sql_dec38 (d38_0 DECIMAL(38,0), d38_19 DECIMAL(38,19), d38_38 DECIMAL(38,38)); +#INSERT INTO sql_dec38 VALUES (12345678901234567899876543210987654321, 1234567890123456789.9876543210987654321, .12345678901234567899876543210987654321); +[ 1 ] +#SELECT * FROM sql_dec38; +% sys.sql_dec38, sys.sql_dec38, sys.sql_dec38 # table_name +% d38_0, d38_19, d38_38 # name +% decimal, decimal, decimal # type +% 39, 40, 40 # length +[ 12345678901234567899876543210987654321, 1234567890123456789.9876543210987654321, 0.12345678901234567899876543210987654321 ] + +# 23:45:59 > +# 23:45:59 > "Done." +# 23:45:59 > + diff --git a/sql/test/mapi/Tests/sql_int128.sql b/sql/test/mapi/Tests/sql_int128.sql new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/sql_int128.sql @@ -0,0 +1,18 @@ +DECLARE a HUGEINT, b HUGEINT, c HUGEINT, d HUGEINT, e HUGEINT; +explain SET a = 1234567890987654321; +explain SET b = 10000000000; +explain SET c = a * b; +explain SET d = c * b; +explain SET e = d + a; + SET a = 1234567890987654321; + SET b = 10000000000; + SET c = a * b; + SET d = c * b; + SET e = d + a; +SELECT a, b, c, d, e; +SELECT 123456789098765432101234567890987654321; +START TRANSACTION; +CREATE TABLE sql_int128 (i HUGEINT); +explain INSERT INTO sql_int128 VALUES (123456789098765432101234567890987654321); + INSERT INTO sql_int128 VALUES (123456789098765432101234567890987654321); +SELECT * FROM sql_int128; diff --git a/sql/test/mapi/Tests/sql_int128.stable.err b/sql/test/mapi/Tests/sql_int128.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/sql_int128.stable.err @@ -0,0 +1,35 @@ +stderr of test 'sql_int128` in directory 'sql/test/mapi` itself: + + +# 23:47:20 > +# 23:47:20 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36076" "--set" "mapi_usock=/var/tmp/mtest-9199/.s.monetdb.36076" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi" "--set" "mal_listing=0" +# 23:47:20 > + +# builtin opt gdk_dbpath = /ufs/manegold/_/Monet/HG/int128/prefix/_/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list