apache / apache/arrow-rs

Support `interleave` kernel with deep copy buffers for `StringViewArray`

Open
#7,184 3 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.