Changeset: c1a24e7d387e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c1a24e7d387e Modified Files: sql/backends/monet5/sql_upgrades.c sql/server/rel_dump.c Branch: indirect-privs Log Message:
Merged with default diffs (truncated from 12696 to 300 lines): diff --git a/clients/Tests/mclient-uri.SQL.bat b/clients/Tests/mclient-uri.SQL.bat deleted file mode 100755 --- a/clients/Tests/mclient-uri.SQL.bat +++ /dev/null @@ -1,6 +0,0 @@ -@prompt # $t $g -@echo on - -@rem Windows doesn't do UNIX domain sockets, so only the one test here. - -mclient -d "mapi:monetdb://%HOST%:%MAPIPORT%/%TSTDB%?language=sql&user=monetdb" -f test -t none -E utf-8 -s "select 1" diff --git a/clients/Tests/mclient-uri.SQL.py b/clients/Tests/mclient-uri.SQL.py new file mode 100644 --- /dev/null +++ b/clients/Tests/mclient-uri.SQL.py @@ -0,0 +1,19 @@ +import os, sys +from MonetDBtesting import process + +with process.client('sql', dbname='mapi:monetdb://{}:{}/{}?language=sql&user=monetdb'.format(os.getenv('HOST', 'localhost'), os.getenv('MAPIPORT', 50000), os.getenv('TSTDB', 'demo')), host='', port='', format='csv', echo=False, stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as c: + out, err = c.communicate('select 1;\n') + +if out != '1\n': + print(out) +if err: + print(err, file=sys.stderr) + +if os.name != 'nt': + with process.client('sql', dbname='mapi:monetdb://{}/.s.monetdb.{}?database={}&language=sql&user=monetdb'.format(os.getenv('MAPIHOST', '/tmp'), os.getenv('MAPIPORT', 50000), os.getenv('TSTDB', 'demo')), host='', port='', format='csv', echo=False, stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as c: + out, err = c.communicate('select 1;\n') + + if out != '1\n': + print(out) + if err: + print(err, file=sys.stderr) diff --git a/clients/Tests/mclient-uri.SQL.sh b/clients/Tests/mclient-uri.SQL.sh deleted file mode 100755 --- a/clients/Tests/mclient-uri.SQL.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# test the URI parsing capabilities of the MAPI library - -mclient -d "mapi:monetdb://$HOST:$MAPIPORT/$TSTDB?language=sql&user=monetdb" -f csv -t none -E utf-8 -s 'select 1' | grep -v '^1$' -if [ $? -eq 2 ]; then - return 2; -fi - -mclient -d "mapi:monetdb://$MAPIHOST/.s.monetdb.$MAPIPORT?database=$TSTDB&language=sql&user=monetdb" -f csv -t none -E utf-8 -s 'select 1' | grep -v '^1$' -if [ $? -eq 2 ]; then - return 2; -fi diff --git a/clients/Tests/mclient-uri.stable.err b/clients/Tests/mclient-uri.stable.err deleted file mode 100644 --- a/clients/Tests/mclient-uri.stable.err +++ /dev/null @@ -1,44 +0,0 @@ -stderr of test 'mclient-uri` in directory 'clients` itself: - - -# 10:30:50 > -# 10:30:50 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36840" "--set" "mapi_usock=/var/tmp/mtest-2769/.s.monetdb.36840" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_clients" -# 10:30:50 > - -# builtin opt gdk_dbpath = /ufs/sjoerd/@Monet-stable/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 = 36840 -# cmdline opt mapi_usock = /var/tmp/mtest-2769/.s.monetdb.36840 -# cmdline opt monet_prompt = -# cmdline opt gdk_dbpath = /ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_clients -# cmdline opt gdk_debug = 536870922 - -# 10:30:51 > -# 10:30:51 > "./mclient-uri.SQL.sh" "mclient-uri" -# 10:30:51 > - - -# 10:30:51 > -# 10:30:51 > mclient -d mapi:monetdb://madrid:36840/mTests_clients?language=sql&user=monetdb -f test -E utf-8 -s select 1 -# 10:30:51 > - - -# 10:30:51 > -# 10:30:51 > mclient -d mapi:monetdb:///var/tmp/mtest-2769/.s.monetdb.36840?database=mTests_clients&language=sql&user=monetdb -f test -E utf-8 -s select 1 -# 10:30:51 > - - -# 10:30:51 > -# 10:30:51 > "Done." -# 10:30:51 > - diff --git a/clients/Tests/mclient-uri.stable.out b/clients/Tests/mclient-uri.stable.out deleted file mode 100644 --- a/clients/Tests/mclient-uri.stable.out +++ /dev/null @@ -1,50 +0,0 @@ -stdout of test 'mclient-uri` in directory 'clients` itself: - - -# 10:30:50 > -# 10:30:50 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36840" "--set" "mapi_usock=/var/tmp/mtest-2769/.s.monetdb.36840" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_clients" -# 10:30:50 > - -# MonetDB 5 server v11.25.22 (hg id: 7b4a32dfbcc5+) -# This is an unreleased version -# Serving database 'mTests_clients', using 8 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers -# Found 15.589 GiB available main-memory. -# Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008-2017 MonetDB B.V., all rights reserved -# Visit http://www.monetdb.org/ for further information -# Listening for connection requests on mapi:monetdb://madrid.da.cwi.nl:36840/ -# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-2769/.s.monetdb.36840 -# MonetDB/GIS module loaded -# MonetDB/SQL module loaded - - -# 10:30:51 > -# 10:30:51 > "./mclient-uri.SQL.sh" "mclient-uri" -# 10:30:51 > - - -# 13:05:14 > -# 13:05:14 > mclient -d mapi:monetdb://xps13:35757/mTests_clients?language=sql&user=monetdb -f test -t none -E utf-8 -s select 1 -# 13:05:14 > - -% .%2 # table_name -% %2 # name -% tinyint # type -% 1 # length -[ 1 ] - -# 10:30:51 > -# 10:30:51 > mclient -d mapi:monetdb:///var/tmp/mtest-2769/.s.monetdb.36840?database=mTests_clients&language=sql&user=monetdb -f test -E utf-8 -s select 1 -# 10:30:51 > - -% .%2 # table_name -% %2 # name -% tinyint # type -% 1 # length -[ 1 ] - -# 10:30:51 > -# 10:30:51 > "Done." -# 10:30:51 > - diff --git a/clients/Tests/mclient-uri.stable.out.Windows b/clients/Tests/mclient-uri.stable.out.Windows deleted file mode 100644 --- a/clients/Tests/mclient-uri.stable.out.Windows +++ /dev/null @@ -1,36 +0,0 @@ -stdout of test 'mclient-uri` in directory 'clients` itself: - - -# 10:30:50 > -# 10:30:50 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36840" "--set" "mapi_usock=/var/tmp/mtest-2769/.s.monetdb.36840" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_clients" -# 10:30:50 > - -# MonetDB 5 server v11.25.22 (hg id: 7b4a32dfbcc5+) -# This is an unreleased version -# Serving database 'mTests_clients', using 8 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers -# Found 15.589 GiB available main-memory. -# Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008-2017 MonetDB B.V., all rights reserved -# Visit http://www.monetdb.org/ for further information -# Listening for connection requests on mapi:monetdb://madrid.da.cwi.nl:36840/ -# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-2769/.s.monetdb.36840 -# MonetDB/GIS module loaded -# MonetDB/SQL module loaded - - - -# 13:05:14 > -# 13:05:14 > mclient -d mapi:monetdb://xps13:35757/mTests_clients?language=sql&user=monetdb -f test -t none -E utf-8 -s select 1 -# 13:05:14 > - -% .%2 # table_name -% %2 # name -% tinyint # type -% 1 # length -[ 1 ] - -# 10:30:51 > -# 10:30:51 > "Done." -# 10:30:51 > - diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2591,165 +2591,138 @@ sql_update_default(Client c, mvc *sql, c " CASE ctype\n" " WHEN 'bigint' THEN 'BIGINT'\n" " WHEN 'blob' THEN\n" - " CASE digits\n" - " WHEN 0 THEN 'BINARY LARGE OBJECT'\n" - " ELSE 'BINARY LARGE OBJECT(' || CAST(digits AS string) || ')'\n" - " END\n" + " CASE digits\n" + " WHEN 0 THEN 'BINARY LARGE OBJECT'\n" + " ELSE 'BINARY LARGE OBJECT(' || digits || ')'\n" + " END\n" " WHEN 'boolean' THEN 'BOOLEAN'\n" " WHEN 'char' THEN\n" " CASE digits\n" " WHEN 1 THEN 'CHARACTER'\n" - " ELSE 'CHARACTER(' || CAST(digits AS string) || ')'\n" + " ELSE 'CHARACTER(' || digits || ')'\n" " END\n" " WHEN 'clob' THEN\n" - " CASE digits\n" - " WHEN 0 THEN 'CHARACTER LARGE OBJECT'\n" - " ELSE 'CHARACTER LARGE OBJECT(' || CAST(digits AS string) || ')'\n" - " END\n" + " CASE digits\n" + " WHEN 0 THEN 'CHARACTER LARGE OBJECT'\n" + " ELSE 'CHARACTER LARGE OBJECT(' || digits || ')'\n" + " END\n" " WHEN 'date' THEN 'DATE'\n" " WHEN 'day_interval' THEN 'INTERVAL DAY'\n" - " WHEN 'decimal' THEN 'DECIMAL(' || CAST(digits AS string) || ',' || CAST(tscale AS string) || ')'\n" + " WHEN ctype = 'decimal' THEN\n" + " CASE\n" + " WHEN (digits = 1 AND tscale = 0) OR digits = 0 THEN 'DECIMAL'\n" + " WHEN tscale = 0 THEN 'DECIMAL(' || digits || ')'\n" + " WHEN digits = 39 THEN 'DECIMAL(' || 38 || ',' || tscale || ')'\n" + " WHEN digits = 19 AND (SELECT COUNT(*) = 0 FROM sys.types WHERE sqlname = 'hugeint' ) THEN 'DECIMAL(' || 18 || ',' || tscale || ')'\n" + " ELSE 'DECIMAL(' || digits || ',' || tscale || ')'\n" + " END\n" " WHEN 'double' THEN\n" - " CASE\n" - " WHEN digits = 53 and tscale = 0 THEN 'DOUBLE'\n" - " WHEN tscale = 0 THEN 'FLOAT(' || CAST(digits AS string) || ')'\n" - " ELSE 'FLOAT(' || CAST(digits AS string) || ',' || CAST(tscale AS string) || ')'\n" - " END\n" + " CASE\n" + " WHEN digits = 53 and tscale = 0 THEN 'DOUBLE'\n" + " WHEN tscale = 0 THEN 'FLOAT(' || digits || ')'\n" + " ELSE 'FLOAT(' || digits || ',' || tscale || ')'\n" + " END\n" " WHEN 'geometry' THEN\n" - " CASE digits\n" - " WHEN 4 THEN 'GEOMETRY(POINT' ||\n" - " CASE tscale\n" - " WHEN 0 THEN ''\n" - " ELSE ',' || CAST(tscale AS string)\n" - " END || ')'\n" - " WHEN 8 THEN 'GEOMETRY(LINESTRING' ||\n" + " CASE digits\n" + " WHEN 4 THEN 'GEOMETRY(POINT' ||\n" " CASE tscale\n" " WHEN 0 THEN ''\n" - " ELSE ',' || CAST(tscale AS string)\n" + " ELSE ',' || tscale\n" " END || ')'\n" - " WHEN 16 THEN 'GEOMETRY(POLYGON' ||\n" + " WHEN 8 THEN 'GEOMETRY(LINESTRING' ||\n" " CASE tscale\n" " WHEN 0 THEN ''\n" - " ELSE ',' || CAST(tscale AS string)\n" + " ELSE ',' || tscale\n" " END || ')'\n" - " WHEN 20 THEN 'GEOMETRY(MULTIPOINT' ||\n" + " WHEN 16 THEN 'GEOMETRY(POLYGON' ||\n" + " CASE tscale\n" + " WHEN 0 THEN ''\n" + " ELSE ',' || tscale\n" + " END || ')'\n" + " WHEN 20 THEN 'GEOMETRY(MULTIPOINT' ||\n" " CASE tscale\n" " WHEN 0 THEN ''\n" - " ELSE ',' || CAST(tscale AS string)\n" + " ELSE ',' || tscale\n" " END || ')'\n" - " WHEN 24 THEN 'GEOMETRY(MULTILINESTRING' ||\n" + " WHEN 24 THEN 'GEOMETRY(MULTILINESTRING' ||\n" " CASE tscale\n" " WHEN 0 THEN ''\n" - " ELSE ',' || CAST(tscale AS string)\n" + " ELSE ',' || tscale\n" " END || ')'\n" - " WHEN 28 THEN 'GEOMETRY(MULTIPOLYGON' ||\n" + " WHEN 28 THEN 'GEOMETRY(MULTIPOLYGON' ||\n" " CASE tscale\n" " WHEN 0 THEN ''\n" - " ELSE ',' || CAST(tscale AS string)\n" + " ELSE ',' || tscale\n" " END || ')'\n" - " WHEN 32 THEN 'GEOMETRY(GEOMETRYCOLLECTION' ||\n" _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list