Skip to content

GH-49225: [Ruby] Add support for writing dictionary delta for primitive dictionary#49226

Merged
kou merged 1 commit intoapache:mainfrom
kou:ruby-dictionary-primitive
Feb 12, 2026
Merged

GH-49225: [Ruby] Add support for writing dictionary delta for primitive dictionary#49226
kou merged 1 commit intoapache:mainfrom
kou:ruby-dictionary-primitive

Conversation

@kou
Copy link
Member

@kou kou commented Feb 11, 2026

Rationale for this change

Nested types and dictionary type are out of scope of this.

What changes are included in this PR?

  • Fix ArrowFormat::Array#slice_offsets_buffer
  • Add ArrowFormat::DayTimeIntervalArray#element_size
  • ArrowFormat::Bitmap#each: Add support for offset
  • Add support for chunked dictionaries
  • Add support for Arrow::DictionaryArray#raw_records with large binary and large UTF-8 dictionaries

Are these changes tested?

Yes.

Are there any user-facing changes?

Yes.

@github-actions
Copy link

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

Copy link
Collaborator

@hiroyuki-sato hiroyuki-sato left a comment

Choose a reason for hiding this comment

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

+1

LD_LIBRARY_PATH=/tmp/local/lib:/path/to/arrow/red-arrow/ext/arrow/ GI_TYPELIB_PATH=/tmp/local/lib/girepository-1.0 rake -I /path/to/arrow/ruby/red-arrow/lib test
cd /path/to/arrow/ruby/red-arrow-format
/path/to/.rbenv/versions/3.4.7/bin/ruby test/run.rb
Loaded suite test
Started
/path/to/arrow/ruby/red-arrow-format/lib/arrow-format/file-reader.rb:40: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future!
Finished in 3.554713382 seconds.
--------------------------------------------------------------------------------------------------------------------------------------------------------
300 tests, 300 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
--------------------------------------------------------------------------------------------------------------------------------------------------------
84.39 tests/s, 84.39 assertions/s
cd -

writer = writer_class.new(output)
write(writer, *inputs)
end
# pp(read(path)) # debug
Copy link
Collaborator

Choose a reason for hiding this comment

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

Keep this debug check?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes. I want to keep this for easy to debug.

@kou kou merged commit a272046 into apache:main Feb 12, 2026
16 checks passed
@kou kou deleted the ruby-dictionary-primitive branch February 12, 2026 21:44
@kou kou removed the awaiting committer review Awaiting committer review label Feb 12, 2026
@github-actions github-actions bot added the awaiting changes Awaiting changes label Feb 12, 2026
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.

2 participants

Comments