Changeset: 3bbf1ee85060 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3bbf1ee85060
Modified Files:
        sql/test/analytics/Tests/analytics13.sql
        sql/test/analytics/Tests/analytics13.stable.out
Branch: grouping-analytics
Log Message:

Approved output


diffs (243 lines):

diff --git a/sql/test/analytics/Tests/analytics13.sql 
b/sql/test/analytics/Tests/analytics13.sql
--- a/sql/test/analytics/Tests/analytics13.sql
+++ b/sql/test/analytics/Tests/analytics13.sql
@@ -102,6 +102,17 @@ ORDER BY GROUPING(col1, col2, col3, col4
 
 SELECT
     DISTINCT
+    NOT col1 IN (SELECT col2 FROM another_T GROUP BY col2)
+FROM another_T
+GROUP BY ROLLUP(col1);
+
+SELECT
+    LAST_VALUE(col5) OVER (PARTITION BY AVG(col8) ORDER BY SUM(col7) NULLS 
FIRST)
+FROM another_T
+GROUP BY CUBE(col1, col2, col5, col8);
+
+SELECT
+    DISTINCT
     NOT col1 * col5 = ALL (SELECT 1 FROM tbl_ProductSales HAVING MAX(col2) > 
2),
     NOT AVG(col2) * col1 <> ANY (SELECT 20 FROM tbl_ProductSales HAVING 
MAX(col1) IS NULL),
     NOT EXISTS (SELECT ColID - 12 FROM tbl_ProductSales GROUP BY ColID HAVING 
MAX(col1) IS NOT NULL OR MIN(col1) < MIN(col2)),
@@ -121,6 +132,28 @@ FROM another_T
 GROUP BY CUBE(col1, col2, col5)
 ORDER BY a1 NULLS FIRST, a2 NULLS FIRST, a3 NULLS FIRST, a4 NULLS FIRST, a5 
NULLS FIRST;
 
+SELECT
+    GROUPING(col1, col2, col5, col8) a1,
+    col1 IN (SELECT ColID + col2 FROM tbl_ProductSales) a2,
+    col1 < ANY (SELECT MAX(ColID + col2) FROM tbl_ProductSales) a3,
+    LAST_VALUE(col5) OVER (PARTITION BY AVG(CASE WHEN col8 IS NULL THEN 0 ELSE 
col8 END) ORDER BY SUM(col7) NULLS FIRST) a4,
+    col5 = ALL (SELECT 1 FROM tbl_ProductSales HAVING MIN(col8) IS NULL) a5,
+    EXISTS (SELECT col2 FROM tbl_ProductSales WHERE tbl_ProductSales.ColID = 
another_T.col1) a6,
+    col1 + col5 = (SELECT MIN(ColID) FROM tbl_ProductSales) a7,
+    CAST(SUM(DISTINCT CASE WHEN col5 - col8 = (SELECT MIN(ColID / col2) FROM 
tbl_ProductSales) THEN col2 - 5 ELSE ABS(col1) END) AS BIGINT) a8,
+    (SELECT MAX(ColID + col2) FROM tbl_ProductSales) * DENSE_RANK() OVER 
(PARTITION BY AVG(DISTINCT col5)) a9,
+    GROUPING(col1, col5, col8) * MIN(col8) OVER (PARTITION BY col5 ORDER BY 
col1 NULLS LAST ROWS UNBOUNDED PRECEDING) a10,
+    MAX(col3) / 10 + GROUPING(col1, col5, col2) * 10 a11,
+    GROUP_CONCAT(CAST(col4 AS VARCHAR(32)), '-sep-') || ' plus ' || 
GROUPING(col1) a12,
+    FIRST_VALUE(col1) OVER (ORDER BY col8 DESC NULLS FIRST) a13,
+    col2 * NULL a14
+FROM another_T
+GROUP BY CUBE(col1, col2, col5, col8), GROUPING SETS (())
+ORDER BY 
+    a1 ASC NULLS FIRST, a2 ASC NULLS LAST, a3 DESC NULLS FIRST, a4 DESC NULLS 
LAST, a5 ASC NULLS FIRST, 
+    a6 DESC NULLS LAST, a7 ASC NULLS FIRST, a8 ASC NULLS LAST, a9 ASC NULLS 
FIRST, a10 DESC NULLS LAST, 
+    a11 ASC NULLS FIRST, a12 DESC NULLS LAST, a13 ASC NULLS FIRST, a14 DESC 
NULLS LAST;
+
 ---Queries bellow give wrong results and errors
 
 SELECT
@@ -140,22 +173,5 @@ SELECT
 FROM another_T t1
 GROUP BY CUBE(t1.col7, t1.col6);
 
-SELECT
-    GROUPING(col1, col2, col5, col8),
-    col1 IN (SELECT ColID + col2 FROM tbl_ProductSales),
-    col1 < ANY (SELECT MAX(ColID + col2) FROM tbl_ProductSales),
-    col5 = ALL (SELECT 1 FROM tbl_ProductSales HAVING MIN(col8) IS NULL),
-    EXISTS (SELECT col2 FROM tbl_ProductSales WHERE tbl_ProductSales.ColID = 
another_T.col1),
-    col1 + col5 = (SELECT MIN(ColID) FROM tbl_ProductSales),
-    CAST(SUM(DISTINCT CASE WHEN col5 - col8 = (SELECT MIN(ColID / col2) FROM 
tbl_ProductSales) THEN col2 - 5 ELSE ABS(col1) END) AS BIGINT),
-    (SELECT MAX(ColID + col2) FROM tbl_ProductSales) * DENSE_RANK() OVER 
(PARTITION BY AVG(DISTINCT col5)),
-    GROUPING(col1, col5, col8) * MIN(col8) OVER (PARTITION BY col5 ORDER BY 
col1 ROWS UNBOUNDED PRECEDING) evil,
-    MAX(col3) / 10 + GROUPING(col1, col5, col2) * 10,
-    GROUP_CONCAT(CAST(col4 AS VARCHAR(32)), '-sep-') || ' plus ' || 
GROUPING(col1),
-    NTILE(col1) OVER (ORDER BY col8 DESC),
-    col2 * NULL
-FROM another_T
-GROUP BY CUBE(col1, col2, col5, col8), GROUPING SETS (());
-
 DROP TABLE tbl_ProductSales;
 DROP TABLE another_T;
diff --git a/sql/test/analytics/Tests/analytics13.stable.out 
b/sql/test/analytics/Tests/analytics13.stable.out
--- a/sql/test/analytics/Tests/analytics13.stable.out
+++ b/sql/test/analytics/Tests/analytics13.stable.out
@@ -382,6 +382,86 @@ stdout of test 'analytics13` in director
 [ 255, 308.5,  7404,   NULL,   33330,  NULL,   NULL,   NULL    ]
 #SELECT
 #    DISTINCT
+#    NOT col1 IN (SELECT col2 FROM another_T GROUP BY col2)
+#FROM another_T
+#GROUP BY ROLLUP(col1);
+% .%14 # table_name
+% %14 # name
+% boolean # type
+% 5 # length
+[ true ]
+[ NULL ]
+#SELECT
+#    LAST_VALUE(col5) OVER (PARTITION BY AVG(col8) ORDER BY SUM(col7) NULLS 
FIRST)
+#FROM another_T
+#GROUP BY CUBE(col1, col2, col5, col8);
+% .%5 # table_name
+% %5 # name
+% int # type
+% 4 # length
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ NULL ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+[ 5555 ]
+#SELECT
+#    DISTINCT
 #    NOT col1 * col5 = ALL (SELECT 1 FROM tbl_ProductSales HAVING MAX(col2) > 
2),
 #    NOT AVG(col2) * col1 <> ANY (SELECT 20 FROM tbl_ProductSales HAVING 
MAX(col1) IS NULL),
 #    NOT EXISTS (SELECT ColID - 12 FROM tbl_ProductSales GROUP BY ColID HAVING 
MAX(col1) IS NOT NULL OR MIN(col1) < MIN(col2)),
@@ -418,6 +498,79 @@ stdout of test 'analytics13` in director
 [ false,       true,   false,  1,      0       ]
 [ true,        true,   false,  NULL,   0       ]
 [ true,        true,   false,  1,      0       ]
+#SELECT
+#    GROUPING(col1, col2, col5, col8) a1,
+#    col1 IN (SELECT ColID + col2 FROM tbl_ProductSales) a2,
+#    col1 < ANY (SELECT MAX(ColID + col2) FROM tbl_ProductSales) a3,
+#    LAST_VALUE(col5) OVER (PARTITION BY AVG(CASE WHEN col8 IS NULL THEN 0 
ELSE col8 END) ORDER BY SUM(col7) NULLS FIRST) a4,
+#    col5 = ALL (SELECT 1 FROM tbl_ProductSales HAVING MIN(col8) IS NULL) a5,
+#    EXISTS (SELECT col2 FROM tbl_ProductSales WHERE tbl_ProductSales.ColID = 
another_T.col1) a6,
+#    col1 + col5 = (SELECT MIN(ColID) FROM tbl_ProductSales) a7,
+% .%1, .%60,   .,      .,      .,      .,      .,      .%13,   .,      .,      
.,      .,      .,      . # table_name
+% a1,  a2,     a3,     a4,     a5,     a6,     a7,     a8,     a9,     a10,    
a11,    a12,    a13,    a14 # name
+% tinyint,     boolean,        boolean,        int,    boolean,        
boolean,        boolean,        bigint, hugeint,        bigint, bigint, 
varchar,        int,    hugeint # type
+% 2,   5,      5,      4,      5,      5,      5,      4,      4,      5,      
3,      32,     3,      1 # length
+[ 0,   false,  true,   5555,   true,   false,  false,  1111,   2226,   0,      
333,    "4444 plus 0",  111,    NULL    ]
+[ 0,   false,  true,   NULL,   true,   true,   false,  1,      6,      0,      
0,      "4 plus 0",     111,    NULL    ]
+[ 0,   false,  true,   NULL,   true,   false,  false,  11,     26,     0,      
3,      "44 plus 0",    111,    NULL    ]
+[ 0,   false,  true,   NULL,   true,   false,  false,  111,    226,    0,      
33,     "444 plus 0",   111,    NULL    ]
+[ 1,   false,  true,   5555,   true,   false,  false,  1111,   2226,   8888,   
333,    "4444 plus 0",  111,    NULL    ]
+[ 1,   false,  true,   NULL,   true,   true,   false,  1,      6,      8,      
0,      "4 plus 0",     111,    NULL    ]
+[ 1,   false,  true,   NULL,   true,   false,  false,  11,     26,     88,     
3,      "44 plus 0",    111,    NULL    ]
+[ 1,   false,  true,   NULL,   true,   false,  false,  111,    226,    888,    
33,     "444 plus 0",   111,    NULL    ]
+[ 2,   false,  true,   5555,   true,   false,  NULL,   1111,   2226,   16,     
353,    "4444 plus 0",  111,    NULL    ]
+[ 2,   false,  true,   NULL,   true,   true,   NULL,   1,      6,      16,     
20,     "4 plus 0",     111,    NULL    ]
+[ 2,   false,  true,   NULL,   true,   false,  NULL,   11,     26,     16,     
23,     "44 plus 0",    111,    NULL    ]
+[ 2,   false,  true,   NULL,   true,   false,  NULL,   111,    226,    16,     
53,     "444 plus 0",   111,    NULL    ]
+[ 3,   false,  true,   5555,   true,   false,  NULL,   1111,   2226,   24,     
353,    "4444 plus 0",  111,    NULL    ]
+[ 3,   false,  true,   NULL,   true,   true,   NULL,   1,      6,      24,     
20,     "4 plus 0",     111,    NULL    ]
+[ 3,   false,  true,   NULL,   true,   false,  NULL,   11,     26,     24,     
23,     "44 plus 0",    111,    NULL    ]
+[ 3,   false,  true,   NULL,   true,   false,  NULL,   111,    226,    24,     
53,     "444 plus 0",   111,    NULL    ]
+[ 4,   NULL,   NULL,   5555,   true,   false,  false,  1111,   NULL,   0,      
343,    "4444 plus 0",  111,    NULL    ]
+[ 4,   NULL,   NULL,   NULL,   true,   true,   false,  1,      NULL,   0,      
10,     "4 plus 0",     111,    NULL    ]
+[ 4,   NULL,   NULL,   NULL,   true,   false,  false,  11,     NULL,   0,      
13,     "44 plus 0",    111,    NULL    ]
+[ 4,   NULL,   NULL,   NULL,   true,   false,  false,  111,    NULL,   0,      
43,     "444 plus 0",   111,    NULL    ]
+[ 5,   NULL,   NULL,   5555,   true,   false,  false,  1111,   NULL,   8888,   
343,    "4444 plus 0",  111,    NULL    ]
+[ 5,   NULL,   NULL,   NULL,   true,   true,   false,  1,      NULL,   8,      
10,     "4 plus 0",     111,    NULL    ]
+[ 5,   NULL,   NULL,   NULL,   true,   false,  false,  11,     NULL,   88,     
13,     "44 plus 0",    111,    NULL    ]
+[ 5,   NULL,   NULL,   NULL,   true,   false,  false,  111,    NULL,   888,    
43,     "444 plus 0",   111,    NULL    ]
+[ 6,   NULL,   NULL,   5555,   true,   false,  NULL,   1111,   NULL,   16,     
363,    "4444 plus 0",  111,    NULL    ]
+[ 6,   NULL,   NULL,   NULL,   true,   true,   NULL,   1,      NULL,   16,     
30,     "4 plus 0",     111,    NULL    ]
+[ 6,   NULL,   NULL,   NULL,   true,   false,  NULL,   11,     NULL,   16,     
33,     "44 plus 0",    111,    NULL    ]
+[ 6,   NULL,   NULL,   NULL,   true,   false,  NULL,   111,    NULL,   16,     
63,     "444 plus 0",   111,    NULL    ]
+[ 7,   NULL,   NULL,   5555,   true,   false,  NULL,   1111,   NULL,   24,     
363,    "4444 plus 0",  111,    NULL    ]
+[ 7,   NULL,   NULL,   NULL,   true,   true,   NULL,   1,      NULL,   24,     
30,     "4 plus 0",     111,    NULL    ]
+[ 7,   NULL,   NULL,   NULL,   true,   false,  NULL,   11,     NULL,   24,     
33,     "44 plus 0",    111,    NULL    ]
+[ 7,   NULL,   NULL,   NULL,   true,   false,  NULL,   111,    NULL,   24,     
63,     "444 plus 0",   111,    NULL    ]
+[ 8,   NULL,   NULL,   5555,   true,   false,  NULL,   1111,   2226,   35552,  
373,    "4444 plus 1",  111,    NULL    ]
+[ 8,   NULL,   NULL,   NULL,   true,   false,  NULL,   1,      6,      32,     
40,     "4 plus 1",     111,    NULL    ]
+[ 8,   NULL,   NULL,   NULL,   true,   false,  NULL,   11,     26,     352,    
43,     "44 plus 1",    111,    NULL    ]
+[ 8,   NULL,   NULL,   NULL,   true,   false,  NULL,   111,    226,    3552,   
73,     "444 plus 1",   111,    NULL    ]
+[ 9,   NULL,   NULL,   5555,   true,   false,  NULL,   1111,   2226,   44440,  
373,    "4444 plus 1",  111,    NULL    ]
+[ 9,   NULL,   NULL,   NULL,   true,   false,  NULL,   1,      6,      40,     
40,     "4 plus 1",     111,    NULL    ]
+[ 9,   NULL,   NULL,   NULL,   true,   false,  NULL,   11,     26,     440,    
43,     "44 plus 1",    111,    NULL    ]
+[ 9,   NULL,   NULL,   NULL,   true,   false,  NULL,   111,    226,    4440,   
73,     "444 plus 1",   111,    NULL    ]
+[ 10,  NULL,   NULL,   5555,   true,   false,  NULL,   1111,   2226,   48,     
393,    "4444 plus 1",  111,    NULL    ]
+[ 10,  NULL,   NULL,   NULL,   true,   false,  NULL,   1,      6,      48,     
60,     "4 plus 1",     111,    NULL    ]
+[ 10,  NULL,   NULL,   NULL,   true,   false,  NULL,   11,     26,     48,     
63,     "44 plus 1",    111,    NULL    ]
+[ 10,  NULL,   NULL,   NULL,   true,   false,  NULL,   111,    226,    48,     
93,     "444 plus 1",   111,    NULL    ]
+[ 11,  NULL,   NULL,   5555,   true,   false,  NULL,   1111,   2226,   56,     
393,    "4444 plus 1",  111,    NULL    ]
+[ 11,  NULL,   NULL,   NULL,   true,   false,  NULL,   1,      6,      56,     
60,     "4 plus 1",     111,    NULL    ]
+[ 11,  NULL,   NULL,   NULL,   true,   false,  NULL,   11,     26,     56,     
63,     "44 plus 1",    111,    NULL    ]
+[ 11,  NULL,   NULL,   NULL,   true,   false,  NULL,   111,    226,    56,     
93,     "444 plus 1",   111,    NULL    ]
+[ 12,  NULL,   NULL,   5555,   true,   false,  NULL,   1111,   NULL,   35552,  
383,    "4444 plus 1",  111,    NULL    ]
+[ 12,  NULL,   NULL,   NULL,   true,   false,  NULL,   1,      NULL,   32,     
50,     "4 plus 1",     111,    NULL    ]
+[ 12,  NULL,   NULL,   NULL,   true,   false,  NULL,   11,     NULL,   352,    
53,     "44 plus 1",    111,    NULL    ]
+[ 12,  NULL,   NULL,   NULL,   true,   false,  NULL,   111,    NULL,   3552,   
83,     "444 plus 1",   111,    NULL    ]
+[ 13,  NULL,   NULL,   5555,   true,   false,  NULL,   1111,   NULL,   44440,  
383,    "4444 plus 1",  111,    NULL    ]
+[ 13,  NULL,   NULL,   NULL,   true,   false,  NULL,   1,      NULL,   40,     
50,     "4 plus 1",     111,    NULL    ]
+[ 13,  NULL,   NULL,   NULL,   true,   false,  NULL,   11,     NULL,   440,    
53,     "44 plus 1",    111,    NULL    ]
+[ 13,  NULL,   NULL,   NULL,   true,   false,  NULL,   111,    NULL,   4440,   
83,     "444 plus 1",   111,    NULL    ]
+[ 14,  NULL,   NULL,   5555,   true,   false,  NULL,   1111,   NULL,   48,     
403,    "4444 plus 1",  111,    NULL    ]
+[ 14,  NULL,   NULL,   NULL,   true,   false,  NULL,   1,      NULL,   48,     
70,     "4 plus 1",     111,    NULL    ]
+[ 14,  NULL,   NULL,   NULL,   true,   false,  NULL,   11,     NULL,   48,     
73,     "44 plus 1",    111,    NULL    ]
+[ 14,  NULL,   NULL,   NULL,   true,   false,  NULL,   111,    NULL,   48,     
103,    "444 plus 1",   111,    NULL    ]
+[ 15,  NULL,   NULL,   NULL,   true,   false,  NULL,   1234,   NULL,   56,     
403,    "4-sep-44-sep-444-sep-4444 plus 1",     111,    NULL    ]
 #DROP TABLE tbl_ProductSales;
 #DROP TABLE another_T;
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to