Changeset: 49c6abdb8aa5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=49c6abdb8aa5 Added Files: sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.sql sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.err sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.out Modified Files: sql/test/BugTracker-2018/Tests/All Branch: Jul2017 Log Message:
added test for Bug 6520 "UPDATE with correlated subquery causes assertion (or segfault)" diffs (144 lines): diff --git a/sql/test/BugTracker-2018/Tests/All b/sql/test/BugTracker-2018/Tests/All --- a/sql/test/BugTracker-2018/Tests/All +++ b/sql/test/BugTracker-2018/Tests/All @@ -9,3 +9,4 @@ sqlitelogictest-bat-undefined.Bug-6516 sqlitelogictest-overflow-in-conversion.Bug-6517 sqlitelogictest-count-not-in.Bug-6518 sqlitelogictest-algebra-join-not-in.Bug-6519 +update-with-correlated-subquery.Bug-6520 diff --git a/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.sql b/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.sql @@ -0,0 +1,30 @@ +start transaction; + +CREATE TABLE "PRIMARY" ( + "ID" integer NOT NULL, + "LEN" real NOT NULL, + CONSTRAINT "PK_PRIMARY" PRIMARY KEY ("ID") +); + +CREATE TABLE "FOREIGN" ( + "ID" integer NOT NULL, + "POS" real NOT NULL, + CONSTRAINT "FK_FOREIGN" FOREIGN KEY ("ID") REFERENCES "PRIMARY" ("ID") +); + +alter table "FOREIGN" add column "RelPos" real default NULL; + +update "FOREIGN" + set "RelPos" = "POS" / ( + select "LEN" + from "PRIMARY" + where "PRIMARY"."ID" = "FOREIGN"."ID" + ) + where "POS" between 0 and ( + select "LEN" + from "PRIMARY" + where "PRIMARY"."ID" = "FOREIGN"."ID" + ) +; + +rollback; diff --git a/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.err b/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.err @@ -0,0 +1,34 @@ +stderr of test 'update-with-correlated-subquery.Bug-6520` in directory 'sql/test/BugTracker-2018` itself: + + +# 18:27:51 > +# 18:27:51 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=32298" "--set" "mapi_usock=/var/tmp/mtest-6807/.s.monetdb.32298" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/manegold/_/Monet/preview/prefix/_/var/MonetDB/mTests_sql_test_BugTracker-2018" +# 18:27:51 > + +# builtin opt gdk_dbpath = /ufs/manegold/_/Monet/preview/prefix/_/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 = 32298 +# cmdline opt mapi_usock = /var/tmp/mtest-6807/.s.monetdb.32298 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /ufs/manegold/_/Monet/preview/prefix/_/var/MonetDB/mTests_sql_test_BugTracker-2018 +# cmdline opt gdk_debug = 553648138 + +# 18:27:52 > +# 18:27:52 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-6807" "--port=32298" +# 18:27:52 > + + +# 18:27:52 > +# 18:27:52 > "Done." +# 18:27:52 > + diff --git a/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.out b/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.out @@ -0,0 +1,57 @@ +stdout of test 'update-with-correlated-subquery.Bug-6520` in directory 'sql/test/BugTracker-2018` itself: + + +# 18:27:51 > +# 18:27:51 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=32298" "--set" "mapi_usock=/var/tmp/mtest-6807/.s.monetdb.32298" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/manegold/_/Monet/preview/prefix/_/var/MonetDB/mTests_sql_test_BugTracker-2018" +# 18:27:51 > + +# MonetDB 5 server v11.27.12 +# This is an unreleased version +# Serving database 'mTests_sql_test_BugTracker-2018', using 4 threads +# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers +# Found 31.309 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://earth.da.cwi.nl:32298/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-6807/.s.monetdb.32298 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded + +Ready. + +# 18:27:52 > +# 18:27:52 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-6807" "--port=32298" +# 18:27:52 > + +#start transaction; +#CREATE TABLE "PRIMARY" ( +# "ID" integer NOT NULL, +# "LEN" real NOT NULL, +# CONSTRAINT "PK_PRIMARY" PRIMARY KEY ("ID") +#); +#CREATE TABLE "FOREIGN" ( +# "ID" integer NOT NULL, +# "POS" real NOT NULL, +# CONSTRAINT "FK_FOREIGN" FOREIGN KEY ("ID") REFERENCES "PRIMARY" ("ID") +#); +#alter table "FOREIGN" add column "RelPos" real default NULL; +#update "FOREIGN" +# set "RelPos" = "POS" / ( +# select "LEN" +# from "PRIMARY" +# where "PRIMARY"."ID" = "FOREIGN"."ID" +# ) +# where "POS" between 0 and ( +# select "LEN" +# from "PRIMARY" +# where "PRIMARY"."ID" = "FOREIGN"."ID" +# ) +#; +[ 0 ] +#rollback; + +# 18:27:52 > +# 18:27:52 > "Done." +# 18:27:52 > + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list