Changeset: 046b4c1a659e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=046b4c1a659e
Added Files:
        sql/test/Dump/Tests/clean-again.reqtests
        sql/test/Dump/Tests/clean-again.sql.src
        sql/test/Dump/Tests/clean-again.stable.err
        sql/test/Dump/Tests/clean-again.stable.out
        sql/test/Dump/Tests/dump-again.SQL.py
        sql/test/Dump/Tests/dump-again.reqtests
        sql/test/Dump/Tests/dump-again.stable.err
        sql/test/Dump/Tests/dump-again.stable.out
        sql/test/Dump/Tests/reload-again.SQL.py
        sql/test/Dump/Tests/reload-again.reqtests
        sql/test/Dump/Tests/reload-again.stable.err
        sql/test/Dump/Tests/reload-again.stable.out
        sql/test/Dump/Tests/test-again.reqtests
        sql/test/Dump/Tests/test-again.sql.src
        sql/test/Dump/Tests/test-again.stable.err.src
        sql/test/Dump/Tests/test-again.stable.out.src
Modified Files:
        clients/mapiclient/dump.c
        clients/odbc/driver/Makefile.ag
        clients/odbc/driver/SQLExecute.c
        configure.ag
        sql/test/Dump/Tests/All
Branch: default
Log Message:

Merge with Mar2018 branch.


diffs (truncated from 565 to 300 lines):

diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1268,7 +1268,36 @@ dump_table_data(Mapi mid, const char *sc
                        s = mapi_fetch_field(hdl, i);
                        if (s == NULL)
                                mnstr_printf(toConsole, "NULL");
-                       else if (string[i]) {
+                       else if (useInserts) {
+                               const char *tp = mapi_get_type(hdl, i);
+                               if (strcmp(tp, "sec_interval") == 0) {
+                                       const char *p = strchr(s, '.');
+                                       if (p == NULL)
+                                               p = s + strlen(s);
+                                       mnstr_printf(toConsole, "INTERVAL 
'%.*s' SECOND", (int) (p - s), s);
+                               } else if (strcmp(tp, "month_interval") == 0)
+                                       mnstr_printf(toConsole, "INTERVAL '%s' 
MONTH", s);
+                               else if (strcmp(tp, "timestamptz") == 0)
+                                       mnstr_printf(toConsole, "TIMESTAMP WITH 
TIME ZONE '%s'", s);
+                               else if (strcmp(tp, "timestamp") == 0)
+                                       mnstr_printf(toConsole, "TIMESTAMP 
'%s'", s);
+                               else if (strcmp(tp, "timetz") == 0)
+                                       mnstr_printf(toConsole, "TIME WITH TIME 
ZONE '%s'", s);
+                               else if (strcmp(tp, "time") == 0)
+                                       mnstr_printf(toConsole, "TIME '%s'", s);
+                               else if (strcmp(tp, "date") == 0)
+                                       mnstr_printf(toConsole, "DATE '%s'", s);
+                               else if (strcmp(tp, "blob") == 0)
+                                       mnstr_printf(toConsole, "BINARY LARGE 
OBJECT '%s'", s);
+                               else if (strcmp(tp, "inet") == 0 ||
+                                        strcmp(tp, "json") == 0 ||
+                                        strcmp(tp, "url") == 0 ||
+                                        strcmp(tp, "uuid") == 0 ||
+                                        string[i])
+                                       quoted_print(toConsole, s, true);
+                               else
+                                       mnstr_printf(toConsole, "%s", s);
+                       } else if (string[i]) {
                                /* write double or single-quoted
                                   string with certain characters
                                   escaped */
diff --git a/clients/odbc/driver/Makefile.ag b/clients/odbc/driver/Makefile.ag
--- a/clients/odbc/driver/Makefile.ag
+++ b/clients/odbc/driver/Makefile.ag
@@ -107,7 +107,7 @@ lib_MonetODBC = {
        SQLTransact.c \
        driver.rc \
        ODBC.syms
-       LIBS = ../../mapilib/libmapi $(LTLIBICONV) $(ODBCINST_LIBS) 
$(SOCKET_LIBS)
+       LIBS = ../../mapilib/libmapi ../../../common/stream/libstream 
$(LTLIBICONV) $(ODBCINST_LIBS) $(SOCKET_LIBS) $(openssl_LIBS)
 }
 
 EXTRA_DIST = Copyright
diff --git a/clients/odbc/driver/SQLExecute.c b/clients/odbc/driver/SQLExecute.c
--- a/clients/odbc/driver/SQLExecute.c
+++ b/clients/odbc/driver/SQLExecute.c
@@ -43,7 +43,9 @@ static struct msql_types {
        {"decimal", SQL_DECIMAL},
        {"double", SQL_DOUBLE},
        {"hugeint", SQL_HUGEINT},
+       /* {"inet", SQL_WCHAR}, */
        {"int", SQL_INTEGER},
+       /* {"json", SQL_WCHAR}, */
        {"month_interval", SQL_INTERVAL_MONTH},
        {"oid", SQL_BIGINT},
        {"real", SQL_REAL},
@@ -55,7 +57,7 @@ static struct msql_types {
        {"timestamp", SQL_TYPE_TIMESTAMP},
        {"timestamptz", SQL_TYPE_TIMESTAMP},
        {"tinyint", SQL_TINYINT},
-/*     {"ubyte", SQL_TINYINT}, */
+       /* {"url", SQL_WCHAR}, */
        {"uuid", SQL_GUID},
        {"varchar", SQL_WVARCHAR},
        {0, 0},                 /* sentinel */
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -3084,7 +3084,7 @@ for comp in \
        'zlib       ' \
 ; do
        AS_VAR_COPY([org], [org_have_$comp])
-       AS_VAR_COPY([have], [org_have_$comp])
+       AS_VAR_COPY([have], [have_$comp])
        AS_VAR_COPY([why_not], [why_not_$comp])
 
        AS_CASE([$why_not-$have-$org],
diff --git a/sql/test/Dump/Tests/All b/sql/test/Dump/Tests/All
--- a/sql/test/Dump/Tests/All
+++ b/sql/test/Dump/Tests/All
@@ -1,6 +1,10 @@
 dump-empty
 load
 dump
+dump-again
 clean
 reload
 test
+clean-again
+reload-again
+test-again
diff --git a/sql/test/Dump/Tests/clean-again.reqtests 
b/sql/test/Dump/Tests/clean-again.reqtests
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/clean-again.reqtests
@@ -0,0 +1,1 @@
+reload
diff --git a/sql/test/Dump/Tests/clean-again.sql.src 
b/sql/test/Dump/Tests/clean-again.sql.src
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/clean-again.sql.src
@@ -0,0 +1,1 @@
+clean.sql
diff --git a/sql/test/Dump/Tests/clean-again.stable.err 
b/sql/test/Dump/Tests/clean-again.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/clean-again.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'clean-again` in directory 'sql/test/Dump` itself:
+
+
+# 22:19:54 >  
+# 22:19:54 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37984" "--set" 
"mapi_usock=/var/tmp/mtest-25752/.s.monetdb.37984" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_Dump" "--set" 
"embedded_c=true"
+# 22:19:54 >  
+
+# builtin opt  gdk_dbpath = /home/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 = 37984
+# cmdline opt  mapi_usock = /var/tmp/mtest-25752/.s.monetdb.37984
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_Dump
+# cmdline opt  embedded_c = true
+# cmdline opt  gdk_debug = 553648138
+
+# 22:19:54 >  
+# 22:19:54 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-25752" "--port=37984"
+# 22:19:54 >  
+
+
+# 22:19:54 >  
+# 22:19:54 >  "Done."
+# 22:19:54 >  
+
diff --git a/sql/test/Dump/Tests/clean-again.stable.out 
b/sql/test/Dump/Tests/clean-again.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/clean-again.stable.out
@@ -0,0 +1,36 @@
+stdout of test 'clean-again` in directory 'sql/test/Dump` itself:
+
+
+# 22:19:54 >  
+# 22:19:54 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37984" "--set" 
"mapi_usock=/var/tmp/mtest-25752/.s.monetdb.37984" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_Dump" "--set" 
"embedded_c=true"
+# 22:19:54 >  
+
+# MonetDB 5 server v11.29.4 (hg id: c717aa6c1f76)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_Dump', using 4 threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 15.513 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2018 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://meeuw.mullender.nl:37984/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-25752/.s.monetdb.37984
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 22:19:54 >  
+# 22:19:54 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-25752" "--port=37984"
+# 22:19:54 >  
+
+#drop table "test";
+#drop sequence "test_seq";
+#drop table "typestest";
+#drop table keytest2;
+#drop table keytest1;
+
+# 22:19:54 >  
+# 22:19:54 >  "Done."
+# 22:19:54 >  
+
diff --git a/sql/test/Dump/Tests/dump-again.SQL.py 
b/sql/test/Dump/Tests/dump-again.SQL.py
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/dump-again.SQL.py
@@ -0,0 +1,15 @@
+import os, sys
+try:
+    from MonetDBtesting import process
+except ImportError:
+    import process
+
+p = process.client('sqldump', args = ['--inserts'], stdout = process.PIPE, 
stderr = process.PIPE)
+dump, err = p.communicate()
+
+f = open(os.path.join(os.environ['TSTTRGDIR'], 'dumpoutput2.sql'), 'w')
+f.write(dump)
+f.close()
+
+sys.stdout.write(dump)
+sys.stderr.write(err)
diff --git a/sql/test/Dump/Tests/dump-again.reqtests 
b/sql/test/Dump/Tests/dump-again.reqtests
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/dump-again.reqtests
@@ -0,0 +1,1 @@
+load
diff --git a/sql/test/Dump/Tests/dump-again.stable.err 
b/sql/test/Dump/Tests/dump-again.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/dump-again.stable.err
@@ -0,0 +1,43 @@
+stderr of test 'dump-again` in directory 'sql/test/Dump` itself:
+
+
+# 22:27:57 >  
+# 22:27:57 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=34099" "--set" 
"mapi_usock=/var/tmp/mtest-27453/.s.monetdb.34099" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_Dump" "--set" 
"embedded_c=true"
+# 22:27:57 >  
+
+# builtin opt  gdk_dbpath = /home/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 = 34099
+# cmdline opt  mapi_usock = /var/tmp/mtest-27453/.s.monetdb.34099
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_Dump
+# cmdline opt  embedded_c = true
+# cmdline opt  gdk_debug = 553648138
+#WARNING To speedup sql.get_value a bulk operator implementation is needed
+#    X_258:bat[:lng] := mal.multiplex("sql":str, "get_value":str, 
X_230:bat[:str], X_238:bat[:str]);
+#WARNING To speedup sql.get_value a bulk operator implementation is needed
+#    X_259:bat[:lng] := mal.multiplex("sql":str, "get_value":str, 
X_231:bat[:str], X_239:bat[:str]);
+#WARNING To speedup sql.get_value a bulk operator implementation is needed
+#    X_260:bat[:lng] := mal.multiplex("sql":str, "get_value":str, 
X_232:bat[:str], X_240:bat[:str]);
+#WARNING To speedup sql.get_value a bulk operator implementation is needed
+#    X_261:bat[:lng] := mal.multiplex("sql":str, "get_value":str, 
X_233:bat[:str], X_241:bat[:str]);
+
+# 22:27:57 >  
+# 22:27:57 >  "/usr/bin/python" "dump-again.SQL.py" "dump-again"
+# 22:27:57 >  
+
+
+# 22:27:57 >  
+# 22:27:57 >  "Done."
+# 22:27:57 >  
+
diff --git a/sql/test/Dump/Tests/dump-again.stable.out 
b/sql/test/Dump/Tests/dump-again.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/Dump/Tests/dump-again.stable.out
@@ -0,0 +1,111 @@
+stdout of test 'dump-again` in directory 'sql/test/Dump` itself:
+
+
+# 22:27:57 >  
+# 22:27:57 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=34099" "--set" 
"mapi_usock=/var/tmp/mtest-27453/.s.monetdb.34099" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_Dump" "--set" 
"embedded_c=true"
+# 22:27:57 >  
+
+# MonetDB 5 server v11.29.4 (hg id: c717aa6c1f76)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_Dump', using 4 threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 15.513 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2018 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://meeuw.mullender.nl:34099/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-27453/.s.monetdb.34099
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 22:27:57 >  
+# 22:27:57 >  "/usr/bin/python" "dump-again.SQL.py" "dump-again"
+# 22:27:57 >  
+
+START TRANSACTION;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to