Repository navigation
refactor: widen GroupColumn::vectorized_equal_to to &mut self - #25238
Merged
jayzhan211 merged 1 commit intoSep 12, 2026
Merged
Conversation
Contributor
Author
|
@jayzhan211 could you take a look. I split this off from the dictionary specific refactor so that it can remain focused |
|
Thank you for opening this pull request! Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch). Details |
Mechanical signature change across the trait and all 8 impls as the first step toward letting `DictionaryGroupValuesColumn` reuse its cached `val_to_inner` map in `vectorized_equal_to` instead of rebuilding it per batch (apache#25219). `GroupValuesColumns::vectorized_equal_to` switches to `iter_mut` and uses `mem::replace` to temporarily extract the index slices from `vectorized_operation_buffers`, avoiding a split-borrow conflict. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Rich-T-kid
force-pushed
the
rich-T-kid/vectorized-equal-to-mut-self
branch
from
September 12, 2026 19:02
45714e9 to
ecff530
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #25238 +/- ##
==========================================
+ Coverage 81.93% 81.94% +0.01%
==========================================
Files 1133 1133
Lines 423529 423799 +270
Branches 423529 423799 +270
==========================================
+ Hits 347028 347300 +272
+ Misses 55910 55904 -6
- Partials 20591 20595 +4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Contributor
|
It would be nice to add short comment why &mut self is required for the next PR |
Omega359
pushed a commit
to Omega359/arrow-datafusion
that referenced
this pull request
Oct 11, 2026
…ache#25238) ## Which issue does this PR close? <!-- We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes apache#123` indicates that this PR will close issue apache#123. --> - works towards apache#25219. ## Rationale for this change Mechanical signature change across the trait and all 8 impls as the first step toward letting `DictionaryGroupValuesColumn` reuse its cached `val_to_inner` map in `vectorized_equal_to` instead of rebuilding it per batch (apache#25219). <!-- Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed. Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes. Please explain the problem you are trying to solve in terms of the user-visible behavior, rather than the implementation. For example, "The code in `foo.rs` doesn't handle nulls" is a symptom of the implementation. "COUNT(DISTINCT) returns wrong results when the column contains nulls" is the user-visible problem. --> ## What changes are included in this PR? `&self` -> `&mut self` <!-- There is no need to duplicate the description in the issue here, but it is sometimes worth providing a summary of the individual changes in this PR. --> ## What is the testing strategy for this PR? n/a <!-- We typically require tests for all PRs in order to: 1. Prevent the code from being accidentally broken by subsequent changes 2. Serve as another way to document the expected behavior of the code Briefly describe how this PR is tested, and point to the specific tests you added. For example: 'This new feature is covered by the `sqllogictest` cases added in `foo.slt`'. If this PR does not add tests, explain why. For example, if the change is already covered by existing tests, please mention it. You should also check the `codecov` bot reply on this PR to confirm the changed code is exercised. --> ## Are there any user-facing changes? no <!-- If there are user-facing changes then we may require documentation to be updated before approving the PR. If there are any breaking changes to public APIs, please add the `api change` label. --> Co-authored-by: Claude Sonnet 4.6 <[email protected]>
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.
Which issue does this PR close?
Rationale for this change
Mechanical signature change across the trait and all 8 impls as the first step toward letting
DictionaryGroupValuesColumnreuse its cachedval_to_innermap invectorized_equal_toinstead of rebuilding it per batch (#25219).What changes are included in this PR?
&self->&mut selfWhat is the testing strategy for this PR?
n/a
Are there any user-facing changes?
no