Changeset: 7352568e47e0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7352568e47e0
Added Files:
        sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.sql
        sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.err
        sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.out
Modified Files:
        sql/test/BugTracker-2018/Tests/All
Branch: Aug2018
Log Message:

Added test for bug 6651.


diffs (229 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
@@ -86,3 +86,4 @@ timestamp-roundtrip.Bug-6640
 convert-key.Bug-6648
 update-transaction-select.Bug-6649
 prepared-statement-with-udf.Bug-6650
+in-subquery-having-Bug-6651
diff --git a/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.sql 
b/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.sql
@@ -0,0 +1,48 @@
+START TRANSACTION;
+
+-- 1. Create a test table
+CREATE TABLE T1 (
+  C1 INTEGER,
+  C2 INTEGER,
+  C3 INTEGER
+);
+
+-- 2. Insert some records
+INSERT INTO T1 
+VALUES (1, 2, 3),
+       (1, 2, 4),
+       (2, 2, 5),
+       (1, 3, 6);
+
+-- 3. Let us see which c1, c2 combination has more than one entry
+-- (results are correct)
+SELECT C1, C2, COUNT(*)
+  FROM T1
+ GROUP BY C1, C2
+HAVING COUNT(*) > 1;
+
+-- 4. Let us find all records from T1 such that C1, C2 has multiple
+-- entries for a given value combination. (correct result)
+SELECT T1.C1, T1.C2, T1.C3
+  FROM T1,
+       (
+        SELECT C1, C2
+          FROM T1
+         GROUP BY C1, C2
+        HAVING COUNT(*) > 1
+       ) X
+ WHERE T1.C1 = X.C1 AND T1.C2 = X.C2;
+
+-- 5. Let us write the same logic in (4) as a subquery. (results
+-- incorrect, the last row should not be there).
+SELECT C1, C2, C3
+  FROM T1
+ WHERE (C1, C2) IN
+       (
+        SELECT C1, C2
+          FROM T1
+         GROUP BY C1, C2
+        HAVING COUNT(*) > 1
+       );
+
+ROLLBACK;
diff --git 
a/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.err 
b/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'in-subquery-having-Bug-6651` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 11:21:55 >  
+# 11:21:55 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=35221" "--set" 
"mapi_usock=/var/tmp/mtest-31514/.s.monetdb.35221" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2018"
 "--set" "embedded_c=true"
+# 11:21:55 >  
+
+# builtin opt  gdk_dbpath = /ufs/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 = 35221
+# cmdline opt  mapi_usock = /var/tmp/mtest-31514/.s.monetdb.35221
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2018
+# cmdline opt  embedded_c = true
+# cmdline opt  gdk_debug = 553648138
+
+# 11:21:55 >  
+# 11:21:55 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-31514" "--port=35221"
+# 11:21:55 >  
+
+
+# 11:21:55 >  
+# 11:21:55 >  "Done."
+# 11:21:55 >  
+
diff --git 
a/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.out 
b/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.out
@@ -0,0 +1,123 @@
+stdout of test 'in-subquery-having-Bug-6651` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 11:21:55 >  
+# 11:21:55 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=35221" "--set" 
"mapi_usock=/var/tmp/mtest-31514/.s.monetdb.35221" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/ufs/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2018"
 "--set" "embedded_c=true"
+# 11:21:55 >  
+
+# MonetDB 5 server v11.31.12 (hg id: d989cfe4436b+)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2018', using 8 threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 62.694 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://methuselah.da.cwi.nl:35221/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-31514/.s.monetdb.35221
+# MonetDB/GIS module loaded
+# SQL catalog created, loading sql scripts once
+# loading sql script: 09_like.sql
+# loading sql script: 10_math.sql
+# loading sql script: 11_times.sql
+# loading sql script: 12_url.sql
+# loading sql script: 13_date.sql
+# loading sql script: 14_inet.sql
+# loading sql script: 15_querylog.sql
+# loading sql script: 16_tracelog.sql
+# loading sql script: 17_temporal.sql
+# loading sql script: 18_index.sql
+# loading sql script: 20_vacuum.sql
+# loading sql script: 21_dependency_views.sql
+# loading sql script: 22_clients.sql
+# loading sql script: 23_skyserver.sql
+# loading sql script: 25_debug.sql
+# loading sql script: 26_sysmon.sql
+# loading sql script: 27_rejects.sql
+# loading sql script: 39_analytics.sql
+# loading sql script: 39_analytics_hge.sql
+# loading sql script: 40_geom.sql
+# loading sql script: 40_json.sql
+# loading sql script: 40_json_hge.sql
+# loading sql script: 41_md5sum.sql
+# loading sql script: 45_uuid.sql
+# loading sql script: 46_profiler.sql
+# loading sql script: 51_sys_schema_extension.sql
+# loading sql script: 60_wlcr.sql
+# loading sql script: 72_fits.sql
+# loading sql script: 74_netcdf.sql
+# loading sql script: 75_lidar.sql
+# loading sql script: 75_shp.sql
+# loading sql script: 75_storagemodel.sql
+# loading sql script: 80_statistics.sql
+# loading sql script: 80_udf.sql
+# loading sql script: 80_udf_hge.sql
+# loading sql script: 85_bam.sql
+# loading sql script: 90_generator.sql
+# loading sql script: 90_generator_hge.sql
+# loading sql script: 99_system.sql
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 11:21:55 >  
+# 11:21:55 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-31514" "--port=35221"
+# 11:21:55 >  
+
+#START TRANSACTION;
+#CREATE TABLE T1 (
+#  C1 INTEGER,
+#  C2 INTEGER,
+#  C3 INTEGER
+#);
+#INSERT INTO T1 
+#VALUES (1, 2, 3),
+#       (1, 2, 4),
+#       (2, 2, 5),
+#       (1, 3, 6);
+[ 4    ]
+#SELECT C1, C2, COUNT(*)
+#  FROM T1
+# GROUP BY C1, C2
+#HAVING COUNT(*) > 1;
+% sys.t1,      sys.t1, sys.L4 # table_name
+% c1,  c2,     L4 # name
+% int, int,    bigint # type
+% 1,   1,      1 # length
+[ 1,   2,      2       ]
+#SELECT T1.C1, T1.C2, T1.C3
+#  FROM T1,
+#       (
+#       SELECT C1, C2
+#         FROM T1
+#        GROUP BY C1, C2
+#       HAVING COUNT(*) > 1
+#       ) X
+# WHERE T1.C1 = X.C1 AND T1.C2 = X.C2;
+% sys.t1,      sys.t1, sys.t1 # table_name
+% c1,  c2,     c3 # name
+% int, int,    int # type
+% 1,   1,      1 # length
+[ 1,   2,      3       ]
+[ 1,   2,      4       ]
+#SELECT C1, C2, C3
+#  FROM T1
+# WHERE (C1, C2) IN
+#       (
+#       SELECT C1, C2
+#         FROM T1
+#        GROUP BY C1, C2
+#       HAVING COUNT(*) > 1
+#       );
+% sys.t1,      sys.t1, sys.t1 # table_name
+% c1,  c2,     c3 # name
+% int, int,    int # type
+% 1,   1,      1 # length
+[ 1,   2,      3       ]
+[ 1,   2,      4       ]
+#ROLLBACK;
+
+# 11:21:55 >  
+# 11:21:55 >  "Done."
+# 11:21:55 >  
+
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to