Skip to content

Conversation

@HyukjinKwon
Copy link
Member

@HyukjinKwon HyukjinKwon commented Jan 21, 2026

Rationale for this change

The C bridge tests (cpp/src/arrow/c/bridge_test.cc) required REE array encoding functionality for testing but had to depend on the ARROW_COMPUTE module (#ifdef ARROW_COMPUTE) to access compute::RunEndEncode(). This created an unnecessary coupling.

What changes are included in this PR?

Before:

cpp/src/arrow/
├── compute/kernels/
│   ├── ree_util_internal.h        # REE encoding templates
│   ├── ree_util_internal.cc       # Allocation helpers  
│   └── vector_run_end_encode.cc   # RunEndEncode kernel implementation
├── util/
│   ├── ree_util.h                 # FindPhysical*, iterators
│   └── ree_util.cc
└── c/
    └── bridge_test.cc             # Calls compute::RunEndEncode()
                                   # #ifdef ARROW_COMPUTE

After:

cpp/src/arrow/
├── compute/kernels/
│   └── vector_run_end_encode.cc   # Calls ree_util::RunEndEncodeArray()
├── util/
│   ├── ree_util.h                 # All REE utilities + encoding templates
│   └── ree_util.cc                # All implementations
└── c/
    └── bridge_test.cc             # Calls ree_util::RunEndEncodeArray()
                                   # No ARROW_COMPUTE dependency

Are these changes tested?

Existing tests should cover.

Are there any user-facing changes?

No.

@HyukjinKwon HyukjinKwon marked this pull request as draft January 21, 2026 01:08
@HyukjinKwon HyukjinKwon changed the title [C++] Extract the internals of the RunEndEncode kernel out of compute/ GH-37221: [C++] Extract the internals of the RunEndEncode kernel out of compute/ Jan 21, 2026
@github-actions github-actions bot added the awaiting review Awaiting review label Jan 21, 2026
@github-actions
Copy link

⚠️ GitHub issue #37221 has been automatically assigned in GitHub to PR creator.

@HyukjinKwon HyukjinKwon changed the title GH-37221: [C++] Extract the internals of the RunEndEncode kernel out of compute/ WIP: GH-37221: [C++] Extract the internals of the RunEndEncode kernel out of compute/ Jan 21, 2026
@HyukjinKwon HyukjinKwon force-pushed the GH-37221 branch 6 times, most recently from be96daf to 1faccbe Compare January 21, 2026 03:05
@HyukjinKwon HyukjinKwon marked this pull request as ready for review January 21, 2026 03:14
@HyukjinKwon HyukjinKwon changed the title WIP: GH-37221: [C++] Extract the internals of the RunEndEncode kernel out of compute/ GH-37221: [C++] Extract the internals of the RunEndEncode kernel out of compute/ Jan 21, 2026
@HyukjinKwon HyukjinKwon marked this pull request as draft January 21, 2026 03:23
@HyukjinKwon HyukjinKwon marked this pull request as ready for review January 21, 2026 03:38
@raulcd
Copy link
Member

raulcd commented Jan 21, 2026

@github-actions crossbow submit -g cpp

@github-actions
Copy link

Revision: 7e1f70b

Submitted crossbow builds: ursacomputing/crossbow @ actions-b9e0cacf84

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-debian-12-cpp-amd64 GitHub Actions
test-debian-12-cpp-i386 GitHub Actions
test-debian-experimental-cpp-gcc-15 GitHub Actions
test-fedora-42-cpp GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions

@raulcd raulcd requested a review from pitrou January 21, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants