Changeset: 548bf027aa5f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=548bf027aa5f Added Files: sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.sql sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.err sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.out Modified Files: monetdb5/mal/mal_import.c sql/test/BugTracker-2019/Tests/All Branch: default Log Message:
Merge with Apr2019 branch. diffs (255 lines): diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c --- a/monetdb5/mal/mal_import.c +++ b/monetdb5/mal/mal_import.c @@ -267,7 +267,7 @@ evalFile(str fname, int listing) if (fd) close_stream(fd); throw(MAL,"mal.eval", "WARNING: could not open file '%s'\n", fname); - } + } c= MCinitClient((oid)0, bstream_create(fd, 128 * BLOCK),0); if( c == NULL){ diff --git a/sql/test/BugTracker-2019/Tests/All b/sql/test/BugTracker-2019/Tests/All --- a/sql/test/BugTracker-2019/Tests/All +++ b/sql/test/BugTracker-2019/Tests/All @@ -15,3 +15,4 @@ prepared-merge-statement.Bug-6706 view-where-cast-error.Bug-6712 correlated-subquery-aggregation.Bug-6714 merge-statement-aliases.Bug-6715 +insert-into-select.Bug-6718 diff --git a/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.sql b/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.sql @@ -0,0 +1,58 @@ +CREATE TABLE test2 ( +order_number SERIAL, +order_id INTEGER NOT NULL, +qnt INTEGER NOT NULL +); + +\d test2 + +COPY 5 RECORDS INTO test2 FROM stdin USING DELIMITERS '|','\n'; +1|32|57 +2|15|105 +3|33|0 +4|57|20 +5|67|134 +; + +SELECT * FROM test2; + + +CREATE TABLE test1 ( +id INTEGER NOT NULL, +qnt INTEGER, +order_number INTEGER NOT NULL, +CONSTRAINT pk_test1_id PRIMARY KEY ("id", "qnt"), +CONSTRAINT pk_order_number FOREIGN KEY ("order_number") REFERENCES +test2("order_number") +); + +\d test1 + +SELECT test2.order_id, +test2.qnt, test2.order_number from test2; + +INSERT INTO test1 (id, qnt, order_number) SELECT test2.order_id, +test2.qnt, test2.order_number from test2; + +SELECT * FROM test1; + + +CREATE TABLE test3 (id, qnt, order_number) AS SELECT test2.order_id, +test2.qnt, test2.order_number from test2; + +\d test3 + +SELECT * FROM test3; + +ALTER TABLE test3 ALTER id SET NOT NULL; +ALTER TABLE test3 ALTER order_number SET NOT NULL; +ALTER TABLE test3 ADD CONSTRAINT pk_test3_id PRIMARY KEY ("id", "qnt"); +ALTER TABLE test3 ADD CONSTRAINT fk_order_number FOREIGN KEY ("order_number") REFERENCES +test2("order_number"); + +\d test3 + +DROP TABLE test3; +DROP TABLE test1; +DROP TABLE test2; + diff --git a/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.err b/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.err @@ -0,0 +1,32 @@ +stderr of test 'insert-into-select.Bug-6718` in directory 'sql/test/BugTracker-2019` itself: + + +# 12:34:40 > +# 12:34:40 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=35973" "--set" "mapi_usock=/var/tmp/mtest-18256/.s.monetdb.35973" "--set" "monet_prompt=" "--forcemito" "--dbpath=/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019" "--set" "embedded_c=true" +# 12:34:40 > + +# builtin opt gdk_dbpath = /export/scratch1/dinther/INSTALL/var/monetdb5/dbfarm/demo +# 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 = 35973 +# cmdline opt mapi_usock = /var/tmp/mtest-18256/.s.monetdb.35973 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019 +# cmdline opt embedded_c = true + +# 12:34:40 > +# 12:34:40 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-18256" "--port=35973" +# 12:34:40 > + + +# 12:34:41 > +# 12:34:41 > "Done." +# 12:34:41 > + diff --git a/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.out b/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.stable.out @@ -0,0 +1,130 @@ +stdout of test 'insert-into-select.Bug-6718` in directory 'sql/test/BugTracker-2019` itself: + + +# 12:34:40 > +# 12:34:40 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=35973" "--set" "mapi_usock=/var/tmp/mtest-18256/.s.monetdb.35973" "--set" "monet_prompt=" "--forcemito" "--dbpath=/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019" "--set" "embedded_c=true" +# 12:34:40 > + +# MonetDB 5 server v11.33.4 (hg id: f1eb242b35e9+) +# This is an unreleased version +# Serving database 'mTests_sql_test_BugTracker-2019', using 4 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers +# Found 31.305 GiB available main-memory. +# Copyright (c) 1993 - July 2008 CWI. +# Copyright (c) August 2008 - 2019 MonetDB B.V., all rights reserved +# Visit https://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://catskill.da.cwi.nl:35973/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-18256/.s.monetdb.35973 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded + +Ready. + +# 12:34:40 > +# 12:34:40 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-18256" "--port=35973" +# 12:34:40 > + +#CREATE TABLE test2 ( +#order_number SERIAL, +#order_id INTEGER NOT NULL, +#qnt INTEGER NOT NULL +#); +CREATE TABLE "sys"."test2" ( + "order_number" INTEGER NOT NULL DEFAULT next value for "sys"."seq_8973", + "order_id" INTEGER NOT NULL, + "qnt" INTEGER NOT NULL, + CONSTRAINT "test2_order_number_pkey" PRIMARY KEY ("order_number") +); +#COPY 5 RECORDS INTO test2 FROM stdin USING DELIMITERS '|','\n'; +#1|32|57 +#2|15|105 +#3|33|0 +#4|57|20 +#5|67|134 +[ 5 ] +#SELECT * FROM test2; +% sys.test2, sys.test2, sys.test2 # table_name +% order_number, order_id, qnt # name +% int, int, int # type +% 1, 2, 3 # length +[ 1, 32, 57 ] +[ 2, 15, 105 ] +[ 3, 33, 0 ] +[ 4, 57, 20 ] +[ 5, 67, 134 ] +#CREATE TABLE test1 ( +#id INTEGER NOT NULL, +#qnt INTEGER, +#order_number INTEGER NOT NULL, +#CONSTRAINT pk_test1_id PRIMARY KEY ("id", "qnt"), +#CONSTRAINT pk_order_number FOREIGN KEY ("order_number") REFERENCES +#test2("order_number") +#); +CREATE TABLE "sys"."test1" ( + "id" INTEGER NOT NULL, + "qnt" INTEGER NOT NULL, + "order_number" INTEGER NOT NULL, + CONSTRAINT "pk_test1_id" PRIMARY KEY ("id", "qnt"), + CONSTRAINT "pk_order_number" FOREIGN KEY ("order_number") REFERENCES "sys"."test2" ("order_number") +); +#SELECT test2.order_id, +#test2.qnt, test2.order_number from test2; +% sys.test2, sys.test2, sys.test2 # table_name +% order_id, qnt, order_number # name +% int, int, int # type +% 2, 3, 1 # length +[ 32, 57, 1 ] +[ 15, 105, 2 ] +[ 33, 0, 3 ] +[ 57, 20, 4 ] +[ 67, 134, 5 ] +#INSERT INTO test1 (id, qnt, order_number) SELECT test2.order_id, +#test2.qnt, test2.order_number from test2; +[ 5 ] +#SELECT * FROM test1; +% sys.test1, sys.test1, sys.test1 # table_name +% id, qnt, order_number # name +% int, int, int # type +% 2, 3, 1 # length +[ 32, 57, 1 ] +[ 15, 105, 2 ] +[ 33, 0, 3 ] +[ 57, 20, 4 ] +[ 67, 134, 5 ] +#CREATE TABLE test3 (id, qnt, order_number) AS SELECT test2.order_id, +#test2.qnt, test2.order_number from test2; +CREATE TABLE "sys"."test3" ( + "id" INTEGER, + "qnt" INTEGER, + "order_number" INTEGER +); +#SELECT * FROM test3; +% sys.test3, sys.test3, sys.test3 # table_name +% id, qnt, order_number # name +% int, int, int # type +% 2, 3, 1 # length +[ 32, 57, 1 ] +[ 15, 105, 2 ] +[ 33, 0, 3 ] +[ 57, 20, 4 ] +[ 67, 134, 5 ] +#ALTER TABLE test3 ALTER id SET NOT NULL; +#ALTER TABLE test3 ALTER order_number SET NOT NULL; +#ALTER TABLE test3 ADD CONSTRAINT pk_test3_id PRIMARY KEY ("id", "qnt"); +#ALTER TABLE test3 ADD CONSTRAINT fk_order_number FOREIGN KEY ("order_number") REFERENCES +#test2("order_number"); +CREATE TABLE "sys"."test3" ( + "id" INTEGER NOT NULL, + "qnt" INTEGER NOT NULL, + "order_number" INTEGER NOT NULL, + CONSTRAINT "pk_test3_id" PRIMARY KEY ("id", "qnt"), + CONSTRAINT "fk_order_number" FOREIGN KEY ("order_number") REFERENCES "sys"."test2" ("order_number") +); +#DROP TABLE test3; +#DROP TABLE test1; +#DROP TABLE test2; + +# 12:34:41 > +# 12:34:41 > "Done." +# 12:34:41 > + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list