test(group): oracles for the fixes in #540 and the coverage gaps - #546
Merged
singaraiona merged 2 commits intoSep 17, 2026
Merged
Conversation
Each test fails on the merge-base and passes here. - top/bot with K >= the group's value count returned the partially filled heap in heap order; sorted output is now asserted, with and without nulls thinning the group, and on a group large enough for the parallel consumer. - count (distinct STR) over 65536 groups with a four-word vocabulary crashed with SIGSEGV; every group's distinct count is checked against its row count. - LIST-typed keys with count (distinct) beside a streaming aggregate failed with a type error building the key column. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ed count-distinct - first/last on a 280k-row group that the two-worker suite splits, checked against the rows themselves, with a nullable column and a selection. - top/bot K admitted for 1 and 1024 and rejected for 0, -1 and 1025, on a small table and past the parallel threshold. - test_wide_count_distinct: a second table whose distinct count depends on the key's parity, so a count landing on the wrong key is detected; the uniform table could not tell. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Tests for #540, targeted at its branch because they pin behaviour that only exists there.
The four fixes this branch carries, each red on the merge-base
cb6b0371and green here (f92150bc):group/topk_full_size_k.rfl—top/botwith K ≥ the group's value count came back in heap order (bot v 1024over[5 3 9 1 7]→[1 3 7 9 5]); sorted output is asserted, with and without nulls thinning the group, and on a 200k-row group for the parallel consumer. The null case is the "serial heap not heapified when nulls leave fewer than K values" fix seen from the query language.group/count_distinct_str_many_groups.rfl—count (distinct text)over 65536 groups with a four-word vocabulary crashed with SIGSEGV; every group's distinct count is checked against its row count.group/list_key_count_distinct.rfl— LIST-typed keys withcount (distinct v)beside a streaming aggregate failed withvec_new: … got LIST.Coverage the review found missing (
7f49fd2d):group/first_last_parallel_oracle.rfl—first/laston a 280k-row group that the two-worker suite splits at the parallel grain, checked against the rows themselves rather than another grouping path, with a nullable column and a selection.group/topk_k_limits.rfl— K admitted for 1 and 1024, rejected for 0, −1 and 1025, on a small table and past the parallel threshold.test_wide_count_distinctgains a table whose distinct count depends on the key's parity, with expectations read from the emitted key column, so a count landing on the wrong key is detected; the uniform table asserts the same value for every group and cannot tell.All six pass in the ASan runner on
19154617.Checklist
dev(notmaster) — targetsperf/grouping-engine-scalingon purpose; four of the tests fail or crash ondevfeat:/fix:/perf:/docs:/ …)makebuilds cleanly (no new warnings)make testpasses; tests added/updated for behaviour changes