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

Reply via email to