Skip to content

Commit 44008d7

Browse files
authored
Minor: Improve aggregate test coverage more (#6952)
1 parent 1810a15 commit 44008d7

File tree

1 file changed

+50
-18
lines changed

1 file changed

+50
-18
lines changed

datafusion/core/tests/sqllogictests/test_files/aggregate.slt

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2048,69 +2048,101 @@ CREATE TABLE test_table (c1 INT, c2 INT, c3 INT)
20482048

20492049
# Inserting data
20502050
statement ok
2051-
INSERT INTO test_table VALUES (1, 10, 50), (1, 20, 60), (2, 10, 70), (2, 20, 80), (3, 10, NULL)
2051+
INSERT INTO test_table VALUES
2052+
(1, 10, 50),
2053+
(1, 20, 60),
2054+
(2, 10, 70),
2055+
(2, 20, 80),
2056+
(3, 10, NULL)
20522057

20532058
# query_group_by_with_filter
2054-
query II rowsort
2055-
SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result FROM test_table GROUP BY c1
2059+
query III rowsort
2060+
SELECT
2061+
c1,
2062+
SUM(c2) FILTER (WHERE c2 >= 20),
2063+
SUM(c2) FILTER (WHERE c2 < 1) -- no rows pass filter, so the output should be NULL
2064+
FROM test_table GROUP BY c1
20562065
----
2057-
1 20
2058-
2 20
2059-
3 NULL
2066+
1 20 NULL
2067+
2 20 NULL
2068+
3 NULL NULL
20602069

20612070
# query_group_by_avg_with_filter
2062-
query IR rowsort
2063-
SELECT c1, AVG(c2) FILTER (WHERE c2 >= 20) AS avg_c2 FROM test_table GROUP BY c1
2071+
query IRR rowsort
2072+
SELECT
2073+
c1,
2074+
AVG(c2) FILTER (WHERE c2 >= 20),
2075+
AVG(c2) FILTER (WHERE c2 < 1) -- no rows pass filter, so output should be null
2076+
FROM test_table GROUP BY c1
20642077
----
2065-
1 20
2066-
2 20
2067-
3 NULL
2078+
1 20 NULL
2079+
2 20 NULL
2080+
3 NULL NULL
20682081

20692082
# query_group_by_with_multiple_filters
20702083
query IIR rowsort
2071-
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
2084+
SELECT
2085+
c1,
2086+
SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2,
2087+
AVG(c3) FILTER (WHERE c3 <= 70) AS avg_c3
2088+
FROM test_table GROUP BY c1
20722089
----
20732090
1 20 55
20742091
2 20 70
20752092
3 NULL NULL
20762093

20772094
# query_group_by_distinct_with_filter
20782095
query II rowsort
2079-
SELECT c1, COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) AS distinct_c2_count FROM test_table GROUP BY c1
2096+
SELECT
2097+
c1,
2098+
COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) AS distinct_c2_count
2099+
FROM test_table GROUP BY c1
20802100
----
20812101
1 1
20822102
2 1
20832103
3 0
20842104

20852105
# query_without_group_by_with_filter
20862106
query I rowsort
2087-
SELECT SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2 FROM test_table
2107+
SELECT
2108+
SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2
2109+
FROM test_table
20882110
----
20892111
40
20902112

20912113
# count_without_group_by_with_filter
20922114
query I rowsort
2093-
SELECT COUNT(c2) FILTER (WHERE c2 >= 20) AS count_c2 FROM test_table
2115+
SELECT
2116+
COUNT(c2) FILTER (WHERE c2 >= 20) AS count_c2
2117+
FROM test_table
20942118
----
20952119
2
20962120

20972121
# query_with_and_without_filter
20982122
query III rowsort
2099-
SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result, SUM(c2) as result_no_filter FROM test_table GROUP BY c1;
2123+
SELECT
2124+
c1,
2125+
SUM(c2) FILTER (WHERE c2 >= 20) as result,
2126+
SUM(c2) as result_no_filter
2127+
FROM test_table GROUP BY c1;
21002128
----
21012129
1 20 30
21022130
2 20 30
21032131
3 NULL 10
21042132

21052133
# query_filter_on_different_column_than_aggregate
21062134
query I rowsort
2107-
select sum(c1) FILTER (WHERE c2 < 30) from test_table;
2135+
select
2136+
sum(c1) FILTER (WHERE c2 < 30)
2137+
FROM test_table;
21082138
----
21092139
9
21102140

21112141
# query_test_empty_filter
21122142
query I rowsort
2113-
SELECT SUM(c2) FILTER (WHERE c2 >= 20000000) AS sum_c2 FROM test_table;
2143+
SELECT
2144+
SUM(c2) FILTER (WHERE c2 >= 20000000) AS sum_c2
2145+
FROM test_table;
21142146
----
21152147
NULL
21162148

0 commit comments

Comments
 (0)