This is an automated email from the ASF dual-hosted git repository.
akurmustafa 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 bee7136a04 Make Topk aggregate tests deterministic (#8998)
bee7136a04 is described below
commit bee7136a04c60a2c06caa630cf1b72f32f7dc574
Author: Mustafa Akur <[email protected]>
AuthorDate: Fri Jan 26 13:30:56 2024 +0300
Make Topk aggregate tests deterministic (#8998)
* Make tests deterministic
* Add duplicate timestamps
---
.../sqllogictest/test_files/aggregates_topk.slt | 38 ++++++++++++----------
1 file changed, 20 insertions(+), 18 deletions(-)
diff --git a/datafusion/sqllogictest/test_files/aggregates_topk.slt
b/datafusion/sqllogictest/test_files/aggregates_topk.slt
index 6b6204e09f..bd8f00e041 100644
--- a/datafusion/sqllogictest/test_files/aggregates_topk.slt
+++ b/datafusion/sqllogictest/test_files/aggregates_topk.slt
@@ -26,9 +26,11 @@ CREATE TABLE traces(trace_id varchar, timestamp bigint,
other bigint) AS VALUES
('a', NULL, NULL),
('a', 1, 1),
('a', -1, -1),
-('b', 0, 0),
-('c', 1, 1),
+('b', -2, 0),
+('c', 4, 1),
+('c', 4, 2),
('c', 2, 2),
+('c', 2, 4),
('b', 3, 3);
statement ok
@@ -57,34 +59,34 @@ GlobalLimitExec: skip=0, fetch=4
query TI
select trace_id, MAX(timestamp) from traces group by trace_id order by
MAX(timestamp) desc limit 4;
----
+c 4
b 3
-c 2
a 1
NULL 0
query TI
select trace_id, MIN(timestamp) from traces group by trace_id order by
MIN(timestamp) asc limit 4;
----
+b -2
a -1
NULL 0
-b 0
-c 1
+c 2
query TII
select trace_id, other, MIN(timestamp) from traces group by trace_id, other
order by MIN(timestamp) asc limit 4;
----
+b 0 -2
a -1 -1
-b 0 0
NULL 0 0
-c 1 1
+a 1 1
query TII
select trace_id, MIN(other), MIN(timestamp) from traces group by trace_id
order by MIN(timestamp), MIN(other) limit 4;
----
+b 0 -2
a -1 -1
NULL 0 0
-b 0 0
-c 1 1
+c 1 2
statement ok
set datafusion.optimizer.enable_topk_aggregation = true;
@@ -168,45 +170,45 @@ GlobalLimitExec: skip=0, fetch=4
query TI
select trace_id, MAX(timestamp) from traces group by trace_id order by
MAX(timestamp) desc limit 4;
----
+c 4
b 3
-c 2
a 1
NULL 0
query TI
select trace_id, MIN(timestamp) from traces group by trace_id order by
MIN(timestamp) asc limit 4;
----
+b -2
a -1
NULL 0
-b 0
-c 1
+c 2
query TI
select trace_id, MAX(timestamp) from traces group by trace_id order by
MAX(timestamp) desc limit 3;
----
+c 4
b 3
-c 2
a 1
query TI
select trace_id, MIN(timestamp) from traces group by trace_id order by
MIN(timestamp) asc limit 3;
----
+b -2
a -1
NULL 0
-b 0
query TII
select trace_id, other, MIN(timestamp) from traces group by trace_id, other
order by MIN(timestamp) asc limit 4;
----
+b 0 -2
a -1 -1
-b 0 0
NULL 0 0
-c 1 1
+a 1 1
query TII
select trace_id, MIN(other), MIN(timestamp) from traces group by trace_id
order by MIN(timestamp), MIN(other) limit 4;
----
+b 0 -2
a -1 -1
NULL 0 0
-b 0 0
-c 1 1
+c 1 2