This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new 44008d7118 Minor: Improve aggregate test coverage more (#6952)
44008d7118 is described below

commit 44008d71180f2d03e9d21944788e61cb8845abc7
Author: Andrew Lamb <[email protected]>
AuthorDate: Wed Jul 19 07:03:53 2023 -0400

    Minor: Improve aggregate test coverage more (#6952)
---
 .../tests/sqllogictests/test_files/aggregate.slt   | 68 ++++++++++++++++------
 1 file changed, 50 insertions(+), 18 deletions(-)

diff --git a/datafusion/core/tests/sqllogictests/test_files/aggregate.slt 
b/datafusion/core/tests/sqllogictests/test_files/aggregate.slt
index c8b8960fd9..dc98c0dc5f 100644
--- a/datafusion/core/tests/sqllogictests/test_files/aggregate.slt
+++ b/datafusion/core/tests/sqllogictests/test_files/aggregate.slt
@@ -2048,27 +2048,44 @@ CREATE TABLE test_table (c1 INT, c2 INT, c3 INT)
 
 # Inserting data
 statement ok
-INSERT INTO test_table VALUES (1, 10, 50), (1, 20, 60), (2, 10, 70), (2, 20, 
80), (3, 10, NULL)
+INSERT INTO test_table VALUES
+  (1, 10, 50),
+  (1, 20, 60),
+  (2, 10, 70),
+  (2, 20, 80),
+  (3, 10, NULL)
 
 # query_group_by_with_filter
-query II rowsort
-SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result FROM test_table GROUP BY 
c1
+query III rowsort
+SELECT
+  c1,
+  SUM(c2) FILTER (WHERE c2 >= 20),
+  SUM(c2) FILTER (WHERE c2 < 1) -- no rows pass filter, so the output should 
be NULL
+FROM test_table GROUP BY c1
 ----
-1 20
-2 20
-3 NULL
+1 20 NULL
+2 20 NULL
+3 NULL NULL
 
 # query_group_by_avg_with_filter
-query IR rowsort
-SELECT c1, AVG(c2) FILTER (WHERE c2 >= 20) AS avg_c2 FROM test_table GROUP BY 
c1
+query IRR rowsort
+SELECT
+  c1,
+  AVG(c2) FILTER (WHERE c2 >= 20),
+  AVG(c2) FILTER (WHERE c2 < 1)  -- no rows pass filter, so output should be 
null
+FROM test_table GROUP BY c1
 ----
-1 20
-2 20
-3 NULL
+1 20 NULL
+2 20 NULL
+3 NULL NULL
 
 # query_group_by_with_multiple_filters
 query IIR rowsort
-SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2, AVG(c3) FILTER (WHERE c3 
<= 70) AS avg_c3 FROM test_table GROUP BY c1
+SELECT
+  c1,
+  SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2,
+  AVG(c3) FILTER (WHERE c3 <= 70) AS avg_c3
+FROM test_table GROUP BY c1
 ----
 1 20 55
 2 20 70
@@ -2076,7 +2093,10 @@ SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2, 
AVG(c3) FILTER (WHERE c3 <
 
 # query_group_by_distinct_with_filter
 query II rowsort
-SELECT c1, COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) AS distinct_c2_count 
FROM test_table GROUP BY c1
+SELECT
+  c1,
+  COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) AS distinct_c2_count
+FROM test_table GROUP BY c1
 ----
 1 1
 2 1
@@ -2084,19 +2104,27 @@ SELECT c1, COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) 
AS distinct_c2_count FROM
 
 # query_without_group_by_with_filter
 query I rowsort
-SELECT SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2 FROM test_table
+SELECT
+  SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2
+FROM test_table
 ----
 40
 
 # count_without_group_by_with_filter
 query I rowsort
-SELECT COUNT(c2) FILTER (WHERE c2 >= 20) AS count_c2 FROM test_table
+SELECT
+  COUNT(c2) FILTER (WHERE c2 >= 20) AS count_c2
+FROM test_table
 ----
 2
 
 # query_with_and_without_filter
 query III rowsort
-SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result, SUM(c2) as 
result_no_filter FROM test_table GROUP BY c1;
+SELECT
+  c1,
+  SUM(c2) FILTER (WHERE c2 >= 20) as result,
+  SUM(c2) as result_no_filter
+FROM test_table GROUP BY c1;
 ----
 1 20 30
 2 20 30
@@ -2104,13 +2132,17 @@ SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result, 
SUM(c2) as result_no_filte
 
 # query_filter_on_different_column_than_aggregate
 query I rowsort
-select sum(c1) FILTER (WHERE c2 < 30) from test_table;
+select
+  sum(c1) FILTER (WHERE c2 < 30)
+FROM test_table;
 ----
 9
 
 # query_test_empty_filter
 query I rowsort
-SELECT SUM(c2) FILTER (WHERE c2 >= 20000000) AS sum_c2 FROM test_table;
+SELECT
+  SUM(c2) FILTER (WHERE c2 >= 20000000) AS sum_c2
+FROM test_table;
 ----
 NULL
 

Reply via email to