Changeset: b53a91b48df3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b53a91b48df3
Modified Files:
        sql/test/subquery/Tests/correlated.sql
        sql/test/subquery/Tests/correlated.stable.out
Branch: sq2
Log Message:

more correlated tests


diffs (163 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
@@ -64,7 +64,6 @@ SELECT i, i=ANY(SELECT i FROM integers W
 -- subquery with OFFSET is not supported
 SELECT i, (SELECT i+i1.i FROM integers LIMIT 1 OFFSET 1) AS j FROM integers i1 
ORDER BY i; -- errror
 -- correlated filter without FROM clause
-/* Wrong error */
 SELECT i, (SELECT 42 WHERE i1.i>2) AS j FROM integers i1 ORDER BY i;
        -- NULL, NULL
        -- 1, NULL
@@ -244,9 +243,7 @@ SELECT i AS j, CAST((SELECT j*SUM(i) FRO
 --3    18
 --NULL NULL
 
-/*Wrong result, cannot find column
 SELECT i AS j, CAST((SELECT i1.i*SUM(i) FROM integers) AS BIGINT) AS k FROM 
integers i1 GROUP BY j ORDER BY j;
- */
 --1    6
 --2    12
 --3    18
@@ -357,9 +354,7 @@ SELECT i, (SELECT i FROM integers i2 WHE
 --3    2
 --NULL 2
 
-/*Wrong results
 SELECT i, (SELECT COUNT(*) FROM integers i2 WHERE i2.i>i1.i GROUP BY i1.i) 
FROM integers i1 ORDER BY i;
- */
 --1    2
 --2    1
 --3    NULL
@@ -430,9 +425,7 @@ SELECT i, (SELECT s1.i FROM integers s1 
 --2    2
 --3    1
 
-/*Extra projection
 SELECT * FROM integers s1 INNER JOIN integers s2 ON (SELECT 2*SUM(i)*s1.i FROM 
integers)=(SELECT SUM(i)*s2.i FROM integers) ORDER BY s1.i;
- */
 --1 2
 
 SELECT * FROM integers s1 INNER JOIN integers s2 ON (SELECT s1.i=s2.i) ORDER 
BY s1.i;
@@ -440,9 +433,7 @@ SELECT * FROM integers s1 INNER JOIN int
 --2    2
 --3    3
 
-/*Extra projection
 SELECT * FROM integers s1 INNER JOIN integers s2 ON (SELECT s1.i=i FROM 
integers WHERE s2.i=i) ORDER BY s1.i;
- */
 --1    1
 --2    2
 --3    3
@@ -471,6 +462,10 @@ SELECT i, CAST((SELECT SUM(s1.i) FROM in
 /*Wrong results
 SELECT i, (SELECT row_number() OVER (ORDER BY i)) FROM integers i1 ORDER BY i; 
--Should we support correlated expressions inside PARTITION BY and ORDER BY on 
Window functions?
 */
+--1    1
+--2    1
+--3    1
+--NULL 1
 
 SELECT i, (SELECT i FROM integers WHERE i=i1.i UNION SELECT i FROM integers 
WHERE i=i1.i) AS j FROM integers i1 ORDER BY i;
 --1    1
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
@@ -248,7 +248,7 @@ stdout of test 'correlated` in directory
 [ 2,   5       ]
 [ 3,   NULL    ]
 #SELECT i, (SELECT MIN(i) FROM integers GROUP BY i1.i) AS j FROM integers i1 
ORDER BY i;
-% .i1, .L1 # table_name
+% .i1, .L2 # table_name
 % i,   j # name
 % int, int # type
 % 1,   1 # length
@@ -257,7 +257,7 @@ stdout of test 'correlated` in directory
 [ 2,   1       ]
 [ 3,   1       ]
 #SELECT i, (SELECT i FROM integers GROUP BY i HAVING i=i1.i) AS j FROM 
integers i1 ORDER BY i;
-% .i1, .integers # table_name
+% .i1, .L1 # table_name
 % i,   j # name
 % int, int # type
 % 1,   1 # length
@@ -352,6 +352,15 @@ stdout of test 'correlated` in directory
 [ 1,   6       ]
 [ 2,   12      ]
 [ 3,   18      ]
+#SELECT i AS j, CAST((SELECT i1.i*SUM(i) FROM integers) AS BIGINT) AS k FROM 
integers i1 GROUP BY j ORDER BY j;
+% .i1, . # table_name
+% j,   k # name
+% int, bigint # type
+% 1,   2 # length
+[ NULL,        NULL    ]
+[ 1,   6       ]
+[ 2,   12      ]
+[ 3,   18      ]
 #SELECT i, CAST(SUM((SELECT SUM(i)*i1.i FROM integers)) AS BIGINT) AS k FROM 
integers i1 GROUP BY i ORDER BY i;
 % .i1, . # table_name
 % i,   k # name
@@ -368,8 +377,8 @@ stdout of test 'correlated` in directory
 % 1 # length
 [ 6    ]
 #SELECT i AS j, (SELECT MIN(i1.i) FROM integers GROUP BY i HAVING i=j) FROM 
integers i1 GROUP BY j ORDER BY j;
-% .i1, .L3 # table_name
-% j,   L3 # name
+% .i1, .L2 # table_name
+% j,   L2 # name
 % int, int # type
 % 1,   1 # length
 [ NULL,        NULL    ]
@@ -478,6 +487,15 @@ stdout of test 'correlated` in directory
 [ 1,   2       ]
 [ 2,   1       ]
 [ 3,   0       ]
+#SELECT i, (SELECT COUNT(*) FROM integers i2 WHERE i2.i>i1.i GROUP BY i1.i) 
FROM integers i1 ORDER BY i;
+% .i1, .L2 # table_name
+% i,   L2 # name
+% int, bigint # type
+% 1,   1 # length
+[ NULL,        NULL    ]
+[ 1,   2       ]
+[ 2,   1       ]
+[ 3,   NULL    ]
 #SELECT i, (SELECT CASE WHEN (SELECT COUNT(*) FROM integers i2 WHERE 
i2.i>i1.i)=0 THEN 1 ELSE 0 END) FROM integers i1 ORDER BY i;
 % .i1, .L3 # table_name
 % i,   L3 # name
@@ -579,6 +597,12 @@ stdout of test 'correlated` in directory
 [ 1,   3       ]
 [ 2,   2       ]
 [ 3,   1       ]
+#SELECT * FROM integers s1 INNER JOIN integers s2 ON (SELECT 2*SUM(i)*s1.i 
FROM integers)=(SELECT SUM(i)*s2.i FROM integers) ORDER BY s1.i;
+% sys.s1,      sys.s2 # table_name
+% i,   i # name
+% int, int # type
+% 1,   1 # length
+[ 1,   2       ]
 #SELECT * FROM integers s1 INNER JOIN integers s2 ON (SELECT s1.i=s2.i) ORDER 
BY s1.i;
 % sys.s1,      sys.s2 # table_name
 % i,   i # name
@@ -587,6 +611,14 @@ stdout of test 'correlated` in directory
 [ 1,   1       ]
 [ 2,   2       ]
 [ 3,   3       ]
+#SELECT * FROM integers s1 INNER JOIN integers s2 ON (SELECT s1.i=i FROM 
integers WHERE s2.i=i) ORDER BY s1.i;
+% sys.s1,      sys.s2 # table_name
+% i,   i # name
+% int, int # type
+% 1,   1 # length
+[ 1,   1       ]
+[ 2,   2       ]
+[ 3,   3       ]
 #SELECT i, CAST((SELECT SUM(s1.i) FROM integers s1 LEFT OUTER JOIN integers s2 
ON s1.i=s2.i OR s1.i=i1.i-1) AS BIGINT) AS j FROM integers i1 ORDER BY i;
 % .i1, . # table_name
 % i,   j # name
@@ -863,7 +895,7 @@ stdout of test 'correlated` in directory
 [ 2,   6       ]
 [ 3,   6       ]
 #SELECT i, (SELECT i=ANY(SELECT i FROM integers WHERE i=s1.i) FROM integers s1 
WHERE i=i1.i) AS j FROM integers i1 ORDER BY i;
-% .i1, .L6 # table_name
+% .i1, .L7 # table_name
 % i,   j # name
 % int, boolean # type
 % 1,   5 # length
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to