Changeset: a7d7e4c7b49e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a7d7e4c7b49e
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
        sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
Modified Files:
        MonetDB.spec
        sql/test/BugTracker-2018/Tests/All
        testing/Mtest.py.in
        testing/listexports.py.in
Branch: default
Log Message:

Merge with Aug2018 branch.


diffs (286 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -878,10 +878,10 @@ Group: Applications/Databases
 %if "%{?_selinux_policy_version}" != ""
 Requires:       selinux-policy >= %{?_selinux_policy_version}
 %endif
-Requires(post):   MonetDB5-server = %{version}-%{release}
-Requires(postun): MonetDB5-server
-Requires(post):   %{name}-SQL-server5 = %{version}-%{release}
-Requires(postun): %{name}-SQL-server5
+Requires(post):   MonetDB5-server%{?_isa} = %{version}-%{release}
+Requires(postun): MonetDB5-server%{?_isa} = %{version}-%{release}
+Requires(post):   %{name}-SQL-server5%{?_isa} = %{version}-%{release}
+Requires(postun): %{name}-SQL-server5%{?_isa} = %{version}-%{release}
 Requires(post):   /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles
 Requires(postun): /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles
 BuildArch: noarch
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
@@ -85,3 +85,5 @@ timestamp-as-boolean.Bug-6642
 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 >  
+
diff --git 
a/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql 
b/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
@@ -0,0 +1,9 @@
+start transaction;
+create table onet (a text, b text, c text);
+insert into onet values ('a', 'b', 'c');
+create function get_onet(d text) returns table (aa text, bb text, cc text) 
return table(select * from onet where a = d);
+prepare select * from get_onet(?);
+exec **('a');
+drop function get_onet;
+drop table onet;
+rollback;
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2086,7 +2086,7 @@ def RunTest(env, TST, BusyPorts, COND, o
                 except IOError as err:
                     if not env.get('NOCLEAN'):
                         ErrMsg("SymlinkOrCopy('%s','%s') in '%s' failed with 
#%d: '%s'."
-                               % (os.path.join(RELSRCDIR, f), f, os.getcwd(), 
IOerrNo, IOerrStr))
+                               % (os.path.join(RELSRCDIR, f), f, os.getcwd(), 
err.errno, err.strerror))
                 except OSError:
                     if not env.get('NOCLEAN'):
                         raise
diff --git a/testing/listexports.py.in b/testing/listexports.py.in
--- a/testing/listexports.py.in
+++ b/testing/listexports.py.in
@@ -33,7 +33,7 @@ srcdir = r'@SOURCE@'
 expre = re.compile(r'\b[a-zA-Z_0-9]+export\s+(?P<decl>[^;]*;)', re.MULTILINE)
 
 # the function or variable name
-nmere = re.compile(r'\b(?P<name>[a-zA-Z_][a-zA-Z_0-9]*)\s*[[(;]')
+nmere = re.compile(r'\b(?P<name>[a-zA-Z_][a-zA-Z_0-9]*)\s*[([;]')
 
 def extract(f):
     decls = []
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to