Changeset: eada94cda539 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eada94cda539
Modified Files:
        sql/test/subquery/Tests/correlated.sql
        sql/test/subquery/Tests/correlated.stable.out
        sql/test/subquery/Tests/subquery.sql
        sql/test/subquery/Tests/subquery.stable.out
        testing/Mtest.py.in
Branch: default
Log Message:

Cast sum aggregates into bigints, to avoid an approval test for hugeint.

Also while running Mapprove.py, don't test for IPv6 because MAPIPORT env 
variable is not set.


diffs (239 lines):

diff --git a/sql/test/subquery/Tests/correlated.sql 
b/sql/test/subquery/Tests/correlated.sql
--- a/sql/test/subquery/Tests/correlated.sql
+++ b/sql/test/subquery/Tests/correlated.sql
@@ -103,12 +103,12 @@ SELECT i, (SELECT MIN(i+2*i1.i) FROM int
        -- 1, 3
        -- 2, 5
        -- 3, 7
-SELECT i, SUM(i), (SELECT SUM(i)+SUM(i1.i) FROM integers) FROM integers i1 
GROUP BY i ORDER BY i;
+SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+SUM(i1.i) FROM integers) 
AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i;
        -- NULL, NULL, NULL
        -- 1, 1, 7
        -- 2, 2, 8
        -- 3, 3, 9
-SELECT i, SUM(i), (SELECT SUM(i)+COUNT(i1.i) FROM integers) FROM integers i1 
GROUP BY i ORDER BY i;
+SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+COUNT(i1.i) FROM 
integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i;
        -- NULL, NULL, 6
        -- 1, 1, 7
        -- 2, 2, 7
@@ -126,17 +126,17 @@ SELECT i, (SELECT MIN(i+2*i1.i) FROM int
        -- 2, 5
        -- 3, 7
 -- aggregate ONLY inside subquery
-SELECT (SELECT SUM(i1.i)) FROM integers i1; -- 6
+SELECT CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 6
 -- aggregate ONLY inside subquery, with column reference outside of subquery
 --SELECT FIRST(i), (SELECT SUM(i1.i)) FROM integers i1; -- missing FIRST 
aggregate
-SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6
+SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 1, 6
 -- this will fail, because "i" is not an aggregate but the SUM(i1.i) turns 
this query into an aggregate
 SELECT i, (SELECT SUM(i1.i)) FROM integers i1;
 SELECT i+1, (SELECT SUM(i1.i)) FROM integers i1;
-SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6
-SELECT (SELECT SUM(i1.i)), (SELECT SUM(i1.i)) FROM integers i1; -- 6, 6
+SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 1, 6
+SELECT CAST((SELECT SUM(i1.i)) AS BIGINT), CAST((SELECT SUM(i1.i)) AS BIGINT) 
FROM integers i1; -- 6, 6
 -- subquery inside aggregation
-SELECT SUM(i), SUM((SELECT i FROM integers WHERE i=i1.i)) FROM integers i1; -- 
6, 6
+SELECT CAST(SUM(i) AS BIGINT), CAST(SUM((SELECT i FROM integers WHERE i=i1.i)) 
AS BIGINT) FROM integers i1; -- 6, 6
 SELECT SUM(i), (SELECT SUM(i) FROM integers WHERE i>SUM(i1.i)) FROM integers 
i1; -- 6, NULL
 -- subquery with aggregation inside aggregation should fail
 SELECT SUM((SELECT SUM(i))) FROM integers; -- error
diff --git a/sql/test/subquery/Tests/correlated.stable.out 
b/sql/test/subquery/Tests/correlated.stable.out
--- a/sql/test/subquery/Tests/correlated.stable.out
+++ b/sql/test/subquery/Tests/correlated.stable.out
@@ -142,19 +142,19 @@ stdout of test 'correlated` in directory
 [ 1,   3       ]
 [ 2,   5       ]
 [ 3,   7       ]
-#SELECT i, SUM(i), (SELECT SUM(i)+SUM(i1.i) FROM integers) FROM integers i1 
GROUP BY i ORDER BY i;
-% sys.i1,      sys.L3, .L14 # table_name
-% i,   L3,     L14 # name
-% int, hugeint,        hugeint # type
+#SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+SUM(i1.i) FROM 
integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i;
+% sys.i1,      sys.L4, .L16 # table_name
+% i,   L4,     L16 # name
+% int, bigint, bigint # type
 % 1,   1,      2 # length
 [ NULL,        NULL,   NULL    ]
 [ 1,   1,      10      ]
 [ 2,   2,      14      ]
 [ 3,   3,      18      ]
-#SELECT i, SUM(i), (SELECT SUM(i)+COUNT(i1.i) FROM integers) FROM integers i1 
GROUP BY i ORDER BY i;
-% sys.i1,      sys.L3, .L14 # table_name
-% i,   L3,     L14 # name
-% int, hugeint,        hugeint # type
+#SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+COUNT(i1.i) FROM 
integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i;
+% sys.i1,      sys.L4, .L16 # table_name
+% i,   L4,     L16 # name
+% int, bigint, bigint # type
 % 1,   1,      2 # length
 [ NULL,        NULL,   6       ]
 [ 1,   1,      10      ]
@@ -178,34 +178,34 @@ stdout of test 'correlated` in directory
 [ 1,   3       ]
 [ 2,   5       ]
 [ 3,   7       ]
-#SELECT (SELECT SUM(i1.i)) FROM integers i1; -- 6
-% sys.L3 # table_name
-% L3 # name
-% hugeint # type
+#SELECT CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 6
+% sys.L4 # table_name
+% L4 # name
+% bigint # type
 % 1 # length
 [ 6    ]
-#SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6
-% sys.L3,      sys.L5 # table_name
-% L3,  L5 # name
-% int, hugeint # type
+#SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 1, 6
+% sys.L3,      sys.L6 # table_name
+% L3,  L6 # name
+% int, bigint # type
 % 1,   1 # length
 [ 1,   6       ]
-#SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6
-% sys.L3,      sys.L5 # table_name
-% L3,  L5 # name
-% int, hugeint # type
+#SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 1, 6
+% sys.L3,      sys.L6 # table_name
+% L3,  L6 # name
+% int, bigint # type
 % 1,   1 # length
 [ 1,   6       ]
-#SELECT (SELECT SUM(i1.i)), (SELECT SUM(i1.i)) FROM integers i1; -- 6, 6
-% sys.L3,      sys.L5 # table_name
-% L3,  L5 # name
-% hugeint,     hugeint # type
+#SELECT CAST((SELECT SUM(i1.i)) AS BIGINT), CAST((SELECT SUM(i1.i)) AS BIGINT) 
FROM integers i1; -- 6, 6
+% sys.L4,      sys.L7 # table_name
+% L4,  L7 # name
+% bigint,      bigint # type
 % 1,   1 # length
 [ 6,   6       ]
-#SELECT SUM(i), SUM((SELECT i FROM integers WHERE i=i1.i)) FROM integers i1; 
-- 6, 6
-% sys.L3,      .L7 # table_name
-% L3,  L7 # name
-% hugeint,     hugeint # type
+#SELECT CAST(SUM(i) AS BIGINT), CAST(SUM((SELECT i FROM integers WHERE 
i=i1.i)) AS BIGINT) FROM integers i1; -- 6, 6
+% sys.L4,      .L11 # table_name
+% L4,  L11 # name
+% bigint,      bigint # type
 % 1,   1 # length
 [ 6,   6       ]
 #SELECT i, (SELECT MIN(i) FROM integers WHERE i>i1.i) FROM integers i1 ORDER 
BY i;
diff --git a/sql/test/subquery/Tests/subquery.sql 
b/sql/test/subquery/Tests/subquery.sql
--- a/sql/test/subquery/Tests/subquery.sql
+++ b/sql/test/subquery/Tests/subquery.sql
@@ -61,19 +61,19 @@ SELECT * FROM integers WHERE 1 IN (SELEC
 SELECT 1 IN (SELECT NULL) FROM integers; 
 SELECT NULL IN (SELECT * FROM integers) FROM integers;
 
-SELECT SUM(i) FROM integers WHERE 1 IN (SELECT * FROM integers); -- 6
+SELECT CAST(SUM(i) AS BIGINT) FROM integers WHERE 1 IN (SELECT * FROM 
integers); -- 6
 
 -- moved ANY into any.sql
 -- moved ALL into all.sql
 
 SELECT (SELECT (SELECT (SELECT 42))); -- 42
 SELECT (SELECT EXISTS(SELECT * FROM integers WHERE i>2)) FROM integers; -- 
single column 4xtrue
-SELECT (SELECT MAX(i) FROM integers) AS k, SUM(i) FROM integers GROUP BY k; -- 
3,6
+SELECT (SELECT MAX(i) FROM integers) AS k, CAST(SUM(i) AS BIGINT) FROM 
integers GROUP BY k; -- 3,6
 
 -- more all into all.sql
-SELECT i % 2 AS k, SUM(i) FROM integers GROUP BY k HAVING SUM(i) > (SELECT 
MAX(i) FROM integers); -- 1,4
+SELECT i % 2 AS k, CAST(SUM(i) AS BIGINT) FROM integers GROUP BY k HAVING 
SUM(i) > (SELECT MAX(i) FROM integers); -- 1,4
 SELECT i FROM integers WHERE NOT(i IN (SELECT i FROM integers WHERE i>1)); -- 1
-SELECT (SELECT SUM(i) FROM integers), (SELECT 42);
+SELECT (SELECT CAST(SUM(i) AS BIGINT) FROM integers), (SELECT 42);
 
 drop TABLE integers;
 
diff --git a/sql/test/subquery/Tests/subquery.stable.out 
b/sql/test/subquery/Tests/subquery.stable.out
--- a/sql/test/subquery/Tests/subquery.stable.out
+++ b/sql/test/subquery/Tests/subquery.stable.out
@@ -256,10 +256,10 @@ stdout of test 'subquery` in directory '
 [ NULL ]
 [ NULL ]
 [ NULL ]
-#SELECT SUM(i) FROM integers WHERE 1 IN (SELECT * FROM integers); -- 6
-% sys.L5 # table_name
-% L5 # name
-% hugeint # type
+#SELECT cast(SUM(i) as bigint) FROM integers WHERE 1 IN (SELECT * FROM 
integers); -- 6
+% sys.L7 # table_name
+% L7 # name
+% bigint # type
 % 1 # length
 [ 6    ]
 #SELECT (SELECT (SELECT (SELECT 42))); -- 42
@@ -277,16 +277,16 @@ stdout of test 'subquery` in directory '
 [ true ]
 [ true ]
 [ true ]
-#SELECT (SELECT MAX(i) FROM integers) AS k, SUM(i) FROM integers GROUP BY k; 
-- 3,6
-% .L3, .L6 # table_name
-% k,   L6 # name
-% int, hugeint # type
+#SELECT (SELECT MAX(i) FROM integers) AS k, cast(SUM(i) as bigint) FROM 
integers GROUP BY k; -- 3,6
+% .L3, .L7 # table_name
+% k,   L7 # name
+% int, bigint # type
 % 1,   1 # length
 [ 3,   6       ]
-#SELECT i % 2 AS k, SUM(i) FROM integers GROUP BY k HAVING SUM(i) > (SELECT 
MAX(i) FROM integers); -- 1,4
-% sys.L2,      sys.L4 # table_name
-% k,   L4 # name
-% int, hugeint # type
+#SELECT i % 2 AS k, cast(SUM(i) as bigint) FROM integers GROUP BY k HAVING 
SUM(i) > (SELECT MAX(i) FROM integers); -- 1,4
+% sys.L2,      sys.L5 # table_name
+% k,   L5 # name
+% int, bigint # type
 % 1,   1 # length
 [ 1,   4       ]
 #SELECT i FROM integers WHERE NOT(i IN (SELECT i FROM integers WHERE i>1)); -- 
1
@@ -295,10 +295,10 @@ stdout of test 'subquery` in directory '
 % int # type
 % 1 # length
 [ 1    ]
-#SELECT (SELECT SUM(i) FROM integers), (SELECT 42);
-% .L5, .L7 # table_name
-% L5,  L7 # name
-% hugeint,     tinyint # type
+#SELECT (SELECT cast(SUM(i) as bigint) FROM integers), (SELECT 42);
+% .L6, .L10 # table_name
+% L6,  L10 # name
+% bigint,      tinyint # type
 % 1,   2 # length
 [ 6,   42      ]
 #drop TABLE integers;
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -4102,14 +4102,15 @@ def main(argv) :
         except:
             CONDITIONALS['BAD_HOSTNAME'] = '#' # True
 
-    s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
-    try:
-        s.bind(('::1', int(env['MAPIPORT'])))
-    except socket.error as err:
-        CONDITIONALS['HAVE_IPV6'] = '' # False
-    else:
-        CONDITIONALS['HAVE_IPV6'] = '#' # True
-    s.close()
+    if THISFILE == "Mtest.py": # env['MAPIPORT'] not available on Mapprove.py
+        s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
+        try:
+            s.bind(('::1', int(env['MAPIPORT'])))
+        except socket.error as err:
+            CONDITIONALS['HAVE_IPV6'] = '' # False
+        else:
+            CONDITIONALS['HAVE_IPV6'] = '#' # True
+        s.close()
 
     # read '.Mapprove.rc'
     if THISFILE == 'Mapprove.py':
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to