Repository navigation
test(devtools): #902 is fixed; its planner_fuzz case now holds - #992
Open
GordonYuanyc wants to merge 1 commit into
Open
GordonYuanyc wants to merge 1 commit into
GordonYuanyc wants to merge 1 commit into
Conversation
#943 fixed #902's literal, ungrouped case and closed the issue. This test's grouped variant (`... AND city = 'city1' GROUP BY city`) holds only since #952's finer-aggregate reuse, which closes #950: q' now adds 0.000040/s against the Filter witness's 0.000010/s, within the 0.001963/s tolerance. The test still expected the violation, so main's CI has failed on finds_issue_902_filter_on_group_key_not_reading_the_grouped_result since b89a602 (#952). As the file header says, its expectation flips to Outcome::Holds and the test stays as the regression test; on failure it prints the outcome. Co-Authored-By: Claude Opus 5.5 <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.
Why
Since b89a602 (#952), main's CI has stopped at
finds_issue_902_filter_on_group_key_not_reading_the_grouped_resultincrates/devtools/tests/planner_fuzz.rs, withexpected #902's violation, got Holds(...). It fails on every main run and every PR, because CI tests the PR merged into main. Later test binaries never ran (see Status above).The test was an open-bug test that expected #902's violation:
… AND city = 'city1' GROUP BY city) holds only since feat(optimizer): reuse a finer aggregate through a compensating filter and a rollup of values or states #952's finer-aggregate reuse (which closes Reuse a finer aggregate through a compensating filter and a rollup of values or states (view matching) #950).What
Test only. Following the file header's rule for fixed bugs, the test now expects
Outcome::Holdsand stays as the regression test. On failure it prints the outcome, as the other issue tests do. The doc comment says which PRs fixed what.How
check(Relation::FilterOnGroupKey, workload, 1)must returnOutcome::Holds(_).Key code interfaces added / modified
None.
Major algorithm changes
None.
Before this PR
The test expected
Violatedand failed on main since #952. Every PR'stestjob failed with it.After this PR
The test expects
Holdsand guards the grouped variant against a regression.Evidence
Execution: with this change, the relation holds. q' adds 0.000040/s against the Filter witness's 0.000010/s, within the 0.001963/s tolerance. The same numbers appear in main's failing CI runs (b89a602, f4eac00, f06a555). Before #952, at 26b6a14, the test passed, meaning the violation was still found.
Verification
cargo test -p asap-devtools --locked --test planner_fuzz: 16 passed, 0 failed, before the final amend.finds_issue_902was re-run alone and passed. The amend changed only this test's assertion message and doc comment.cargo fmt --all -- --check: clean.Architectural decisions
Holdsvariant, which is how the file's otherHoldscase is written.Holdsdoes not inspect the plan shape: it bounds q''s marginal cost by the witness's derive cost plus 1% of W's cost.Limitations and follow-up
possibly_known_issue(crates/devtools/src/planner_fuzz/report.rs:360) still tags every SQLb-filter-on-group-keyviolation as the open issue #902, which is now closed. Not changed here.Human review — do not complete with an agent
🤖 Generated with Claude Code