Support `interleave` kernel with deep copy buffers for `StringViewArray`
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 1.3k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 167
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
https://github.com/apache/arrow-rs/blob/a0c3186c55ac8ed3f6b8a15d1305548fd6305ebb/arrow-select/src/interleave.rs#L238
Current implementation of `interleave` kernel on `StringViewArray` reuses the existing buffers from source arrays, it's only reconstructing `view`s specified by the interleaving operation. It's useful to also support `interleave` by reconstructing buffers. (For example, if the referenced elements are sparse)
**Describe the solution you'd like**
Provides an additional interface for `StringViewArray` to do `interleave` with deep copy buffers.
**Describe alternatives you've considered**
**Additional context**
Contributor guide
Research direction
Start with arrow-select/src/interleave.rs around the linked implementation at line 238, and trace how StringViewArray interleave currently handles views and source buffers. Determine the additional interface needed for deep-copy buffers, especially for sparse referenced elements. Done means StringViewArray interleave supports reconstructing buffers rather than only reusing existing ones.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100