Uh oh!
There was an error while loading. Please reload this page.
GH-46515: [C++] Enable Multi Blocks in arrow::BinaryViewBuilder::AppendArraySlice - #46655
GH-46515: [C++] Enable Multi Blocks in arrow::BinaryViewBuilder::AppendArraySlice#46655andishgar wants to merge 5 commits into
Conversation
pitrou
commented
Jun 5, 2025
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 ? |
andishgar
commented
Jun 5, 2025
@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
f9b0928Compare6d04ab8 to
99140d7Compareandishgar
commented
Jun 10, 2025
@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
a5dfadbCompareThank you for your contribution. Unfortunately, this pull request has been marked as stale because it has had no activity in the past 365 days. Please remove the stale label or comment below, or this PR will be closed in 14 days. Feel free to re-open this if it has been closed in error. If you do not have repository permissions to reopen the PR, please tag a maintainer. |
andishgar
commented
Jul 1, 2026
@pitrou, would it be possible to review this? If you find it unacceptable, please let me know so I can rewrite it. |
Sorry for not looking at this early. I think this is a good idea, I'll post some review comments when I get some time. |
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.