Skip to content

GH-46285: [C++] Add support for Decimal32/64 and HalfFloat to run_end_encode/run_end_decode - #46286

Merged
amoeba merged 8 commits into
apache:mainfrom
amoeba:feature/GH-46285--ree-decimal3264float16
Jul 2, 2025
Merged

amoeba merged 8 commits into
apache:mainfrom
amoeba:feature/GH-46285--ree-decimal3264float16

Conversation

@amoeba

@amoeba amoeba commented May 1, 2025 •

Copy link
Copy Markdown
Member

Rationale for this change

Adds support to run_end_encode, run_end_decode for Decimal32, Decimal64, and HalfFloat.

What changes are included in this PR?

  • Registers kernels for the above types
  • Tests via PyArrow

Are these changes tested?

Yes.

Are there any user-facing changes?

These are worth including as a line-item in release notes.

Comment thread python/pyarrow/tests/test_compute.py Resolved
@amoeba

amoeba commented May 7, 2025

Copy link
Copy Markdown
Member Author

This is ready for a final review, I've re-requested a couple of reviews but all are welcome to take a look.

@pitrou pitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just one minor suggestion

@pitrou

pitrou commented Jun 5, 2025

Copy link
Copy Markdown
Member

@amoeba Would you like to update this PR according to the review comment above?

Comment thread python/pyarrow/tests/test_compute.py Resolved
@amoeba
amoeba force-pushed the feature/GH-46285--ree-decimal3264float16 branch from 1fcaa89 to de0d89e Compare June 7, 2025 01:26
@amoeba

amoeba commented Jun 7, 2025

Copy link
Copy Markdown
Member Author

Thanks for the ping @pitrou and for the note @raulcd. I addressed both conversations and this is ready for a final review.

@amoeba
amoeba requested review from pitrou and raulcd June 7, 2025 01:29

@pitrou pitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just an additional question, LGTM otherwise.

@amoeba

amoeba commented Jul 2, 2025

Copy link
Copy Markdown
Member Author

I resolved your question @pitrou (it was a good one!). Does what I did there look good? I'll merge this if so.

@pitrou pitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thank you @amoeba

@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 626d639.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

@felipecrv

Copy link
Copy Markdown
Contributor

Really nice one @amoeba!

Mytherin pushed a commit to duckdb/duckdb that referenced this pull request Jul 24, 2025
These tests were commented out because, when they were added,
PyArrow didn't support run-end-encoding on Decimal32/64 arrays.
PyArrow>=21 does support this:

apache/arrow#46286

So we can uncomment the tests.

This patch passes for me locally.
Mytherin added a commit to duckdb/duckdb that referenced this pull request Jul 24, 2025
These tests were commented out because, when they were added, PyArrow
didn't support run-end-encoding on Decimal32/64 arrays. PyArrow>=21
supports this as of apache/arrow#46286 so the
tests can be uncommented.

With this patch, this test suite passes for me locally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants