-
Notifications
You must be signed in to change notification settings - Fork 4.3k
GH-36472: [Ruby] Add run-end encoded array values and raw records - #51276
Open
emecii wants to merge 1 commit into
Open
GH-36472: [Ruby] Add run-end encoded array values and raw records #51276emecii wants to merge 1 commit into
emecii wants to merge 1 commit into
Conversation
Convert logical run positions through the native value converters, including nested values and null runs. Restore Array#values while retaining values_raw for physical child access. Generated-by: OpenAI Codex
@github-actions
github-actions
Bot
added
Component: Ruby
awaiting review
Awaiting review
labels
Sep 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
Rationale for this change
GH-36472 requests the same native Ruby conversion support for run-end encoded arrays as other arrays. Currently
RunEndEncodedArray#valuesresolves to a GObject child property, while chunked values and record conversion raiseNotImplemented.What changes are included in this PR?
valuesgetter soArray#valuesis inherited. The physical child remains available through the existingvalues_rawmethod;logical_valuesis unchanged.Are these changes tested?
Built the C++/GLib libraries from main at
68243c4baand compiled the changed native Ruby extension on macOS arm64 with Ruby 4.0.6.NotImplementederrors.git diff --check, and the repository RAT license audit pass.Are there any user-facing changes?
REE arrays now support native Ruby values and raw-record conversion.
This PR includes breaking changes to public APIs.
RunEndEncodedArray#valuesreturns a Ruby array of logical values instead of the GObject physical-child property. Callers needing that child should use the already availablevalues_rawmethod.AI assistance
OpenAI Codex was used to generate the implementation and regression tests and to run the validation described above.