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

Reply via email to