From 3cc8403f341ce9d004765b0fe174cf975e1f6d83 Mon Sep 17 00:00:00 2001 From: Mustafa Akur Date: Thu, 25 Jan 2024 17:35:36 +0300 Subject: [PATCH 1/2] Make tests deterministic --- .../test_files/aggregates_topk.slt | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/datafusion/sqllogictest/test_files/aggregates_topk.slt b/datafusion/sqllogictest/test_files/aggregates_topk.slt index 6b6204e09f40..01f0bf1234fe 100644 --- a/datafusion/sqllogictest/test_files/aggregates_topk.slt +++ b/datafusion/sqllogictest/test_files/aggregates_topk.slt @@ -26,8 +26,8 @@ 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', 2, 2), ('b', 3, 3); @@ -57,34 +57,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 +168,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 From 00f85a9c7ede72290f111f81fcba51345c763a8a Mon Sep 17 00:00:00 2001 From: Mustafa Akur Date: Fri, 26 Jan 2024 09:14:29 +0300 Subject: [PATCH 2/2] Add duplicate timestamps --- datafusion/sqllogictest/test_files/aggregates_topk.slt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/datafusion/sqllogictest/test_files/aggregates_topk.slt b/datafusion/sqllogictest/test_files/aggregates_topk.slt index 01f0bf1234fe..bd8f00e04158 100644 --- a/datafusion/sqllogictest/test_files/aggregates_topk.slt +++ b/datafusion/sqllogictest/test_files/aggregates_topk.slt @@ -28,7 +28,9 @@ CREATE TABLE traces(trace_id varchar, timestamp bigint, other bigint) AS VALUES ('a', -1, -1), ('b', -2, 0), ('c', 4, 1), +('c', 4, 2), ('c', 2, 2), +('c', 2, 4), ('b', 3, 3); statement ok