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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list