GH-46515: [C++] Enable Multi Blocks in arrow::BinaryViewBuilder::AppendArraySlice#46655
Open
andishgar wants to merge 5 commits intoapache:mainfrom
Open
GH-46515: [C++] Enable Multi Blocks in arrow::BinaryViewBuilder::AppendArraySlice#46655andishgar wants to merge 5 commits intoapache:mainfrom
andishgar wants to merge 5 commits intoapache:mainfrom
Conversation
Member
|
This is better than the statu quo, but I think we should be able to do even better, since BinaryView allows us to reuse the data buffers without actually copying the data for each string. What do you think @bkietz ? |
Contributor
Author
|
@pitrou I think that's a great idea. Since there's no obligation for the data to be adjacent in BinaryView, let me reimplement it accordingly. I'll inform you once it's done. |
cd0a41f to
f9b0928
Compare
6d04ab8 to
99140d7
Compare
Contributor
Author
|
@pitrou I've modified the logic to create view from data buffers instead of copying them. Do you have any further suggestions for improvements? |
99140d7 to
a5dfadb
Compare
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.
Rationale for this change
As noted here,
arrow::BinaryViewBuilder::AppendArraySlicedoes not support cases where the total length of elements in the input array exceeds the maximum value ofint32_t.What changes are included in this PR?
This PR updates
arrow::BinaryViewBuilder::AppendArraySliceto correctly handle{StringView, BinaryView}Arrayinputs where the total length of non-inlined elements exceeds the maximum value of int32_t.Are these changes tested?
Yes, the relevant unit tests were run and passed.
Are there any user-facing changes?
No.