Union Array#8834
Conversation
Merging this PR will improve performance by 25.8%
Performance Changes
Tip Curious why this is faster? Comment Comparing Footnotes
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c5b0a79a5f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if indices.dtype().is_nullable() { | ||
| vortex_bail!("Taking UnionArray with nullable indices is not supported yet") |
There was a problem hiding this comment.
Support nullable indices for union take
When a UnionArray is taken with nullable indices (for example a DictArray of union values with nullable codes, since Dict::execute passes those codes through take_canonical), this branch returns an error before preserving the null slots. Nullable take is a supported operation in the crate’s conformance expectations ([Some(0), None, Some(2)] should become [row0, null, row2]), so this makes nullable-coded dictionary unions and outer-join style takes fail. Please handle nullable indices by keeping the output type_ids nullable/masked while gathering children with non-null placeholder indices.
Useful? React with 👍 / 👎.
Polar Signals Profiling ResultsLatest Run
Previous Runs (5)
Powered by Polar Signals Cloud |
Benchmarks: Vortex queries 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.841x ✅, 2↑ 0↓)
datafusion / parquet (0.822x ✅, 2↑ 0↓)
duckdb / vortex-file-compressed (0.979x ➖, 0↑ 0↓)
duckdb / parquet (0.952x ➖, 0↑ 0↓)
No file size changes detected. |
c5b0a79 to
c33685a
Compare
42124e3 to
df88950
Compare
c33685a to
9238470
Compare
df88950 to
c812c67
Compare
9238470 to
e2186b0
Compare
c812c67 to
dd92c91
Compare
dd92c91 to
fd2e580
Compare
e2186b0 to
cfa9d17
Compare
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
cfa9d17 to
66e354f
Compare
fd2e580 to
5e0113d
Compare
Rationale for this change
Tracking issue: #8769
TODO
What changes are included in this PR?
What APIs are changed? Are there any user-facing changes?
Stack created with GitHub Stacks CLI • Give Feedback 💬