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 intoapache:mainfrom
amoeba:feature/GH-46285--ree-decimal3264float16
Jul 2, 2025
Merged

GH-46285: [C++] Add support for Decimal32/64 and HalfFloat to run_end_encode/run_end_decode#46286
amoeba merged 8 commits intoapache:mainfrom
amoeba:feature/GH-46285--ree-decimal3264float16

Conversation

@amoeba
Copy link
Member

@amoeba amoeba commented May 1, 2025

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.

@github-actions github-actions bot added awaiting committer review Awaiting committer review and removed awaiting review Awaiting review labels May 1, 2025
@github-actions github-actions bot added awaiting changes Awaiting changes awaiting change review Awaiting change review and removed awaiting committer review Awaiting committer review awaiting changes Awaiting changes labels May 2, 2025
@amoeba amoeba requested review from pitrou and raulcd May 7, 2025 18:48
@amoeba
Copy link
Member Author

amoeba commented May 7, 2025

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

Copy link
Member

@pitrou pitrou left a comment

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
Copy link
Member

pitrou commented Jun 5, 2025

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

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jun 5, 2025
amoeba and others added 6 commits June 7, 2025 01:24
@amoeba amoeba force-pushed the feature/GH-46285--ree-decimal3264float16 branch from 1fcaa89 to de0d89e Compare June 7, 2025 01:26
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jun 7, 2025
@amoeba
Copy link
Member Author

amoeba commented Jun 7, 2025

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
Copy link
Member

@pitrou pitrou left a comment

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
Copy link
Member Author

amoeba commented Jul 2, 2025

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

Copy link
Member

@pitrou pitrou left a comment

Choose a reason for hiding this comment

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

+1, thank you @amoeba

@amoeba amoeba merged commit 626d639 into apache:main Jul 2, 2025
39 checks passed
@amoeba amoeba removed the awaiting change review Awaiting change review label Jul 2, 2025
@conbench-apache-arrow
Copy link

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
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