From 88ea894e892d083785d01d1e289391d2ea119cbc Mon Sep 17 00:00:00 2001 From: discord9 <55937128+discord9@users.noreply.github.com> Date: Thu, 8 Oct 2026 15:49:01 +0800 Subject: [PATCH] test(perf): retain mixed dictionary values across SST row groups Place instance before dc in both the primary key and flat column order. Materializing the old dc-first case yielded D=1 in all row groups; the corrected case has D=16 in all 256 groups while retaining 2097152 rows, 16 complete dc groups, 4096 instance groups and the deterministic sums. No generator or harness changes. Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> --- .../sql_sum_group_by_dict_tag/case.toml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tests/perf/query_cases/sql_sum_group_by_dict_tag/case.toml b/tests/perf/query_cases/sql_sum_group_by_dict_tag/case.toml index b84c6db64f6..79fd7d19bdf 100644 --- a/tests/perf/query_cases/sql_sum_group_by_dict_tag/case.toml +++ b/tests/perf/query_cases/sql_sum_group_by_dict_tag/case.toml @@ -23,9 +23,18 @@ name = "sql_sum_group_by_dict_tag" engine = "mito" append_mode = true sst_format = "flat" -primary_key = ["dc", "device", "instance"] +# Instance-first ordering keeps dc values mixed within sorted SST row groups. +primary_key = ["instance", "dc", "device"] time_index = "ts" +# instance in the primary key retains 4096 distinct series; dc/device alone +# would represent only 16 actual keys. Column order matches the flat SST schema. +[[scenario.tables.columns]] +name = "instance" +type = "STRING" +semantic = "tag" +distribution = { kind = "cardinality", values = 4096, prefix = "instance" } + [[scenario.tables.columns]] name = "dc" type = "STRING" @@ -38,14 +47,6 @@ type = "STRING" semantic = "tag" distribution = { kind = "cardinality", values = 4, prefix = "device" } -# instance in the primary key retains 4096 distinct series; dc/device alone -# would represent only 16 actual keys. -[[scenario.tables.columns]] -name = "instance" -type = "STRING" -semantic = "tag" -distribution = { kind = "cardinality", values = 4096, prefix = "instance" } - [[scenario.tables.columns]] name = "val" type = "DOUBLE"