Rich-T-kid opened a new pull request, #12059:
URL: https://github.com/apache/arrow-rs/pull/12059
Closes #12056
`interleave` currently concatenates dictionary value arrays even when every
selected input shares the same values mapping. Slices of one dictionary
therefore duplicate the mapping and offset keys that could be reused directly.
```text
input A: keys [0, 2] --+
+--> shared values Arc V
input B: keys [1, 0] --+
indices: [(A, 1), (B, 0)]
before: values = concat(V, V) keys = [2, len(V) + 1]
after: values = Arc::clone(V) keys = [2, 1]
```
This adds an exact-`Arc` fast path that gathers the primitive keys and
preserves key nulls. Only referenced sources with selected non-null keys
participate in the mapping check; distinct mappings continue through the
existing merge or concatenation paths.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]