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?
Closes #17489.
Rationale for this change
Since Arrow 56 and #16690, support has been added to the two smaller decimal variants. This PR tries to bring support to them on-par with the support for the bigger types.
I've run into this issue when upgrading Vortex to use the upcoming release (50), one of our benchmarks fails with:
What changes are included in this PR?
Adding support for handling decimal32/64 wherever other decimal types are handled. I've tried to use multiple search methods to find places where they matter, but there might be some matches/if conditions that make them hard to find.
I've also implemented support for
AVG
,SUM
,FIRST_VALUE
/LAST_VALUE
andMIN
/MAX
.but I stopped pushingSeems like implementing these aggregations is required to get the test suite to ✅, so I'm working on adding everything.MEDIAN
andMIN_MAX
as I'm not sure if its desirable (at all) or as part of this PR.Are these changes tested?
The testing strategy to some of these parts is unclear to me, both around SQL but also for aggregate functions like
SUM
andAVG
.Are there any user-facing changes?
Code that used to fail while reading some decimals should now work.