feat: Migrate format interfaces, column_stats, table special_fields, and lookup store by lxy-9602 · Pull Request #43 · apache/paimon-cpp · GitHub
Skip to content

feat: Migrate format interfaces, column_stats, table special_fields, and lookup store - #43

Merged
leaves12138 merged 1 commit into
apache:mainfrom
lxy-9602:add-format-interface
Jun 3, 2026
Merged

feat: Migrate format interfaces, column_stats, table special_fields, and lookup store#43
leaves12138 merged 1 commit into
apache:mainfrom
lxy-9602:add-format-interface

Conversation

@lxy-9602

@lxy-9602 lxy-9602 commented Jun 3, 2026

Copy link
Copy Markdown
Member

Purpose

No Linked issue.

Migrate format module public interfaces, column_stats implementation, table/lookup utilities:

Format interfaces (include/paimon/format/):

  • ColumnStats — per-column min/max/null statistics (column_stats.h)
  • FormatWriter — abstract format writer interface (format_writer.h)
  • FormatStatsExtractor — extract column stats from format files (format_stats_extractor.h)
  • WriterBuilder — builder for creating format writers (writer_builder.h)
  • FileFormat — file format descriptor (file_format.h)
  • FileFormatFactory — factory for registering/creating file formats (file_format_factory.h)
  • ReaderBuilder — builder for creating format readers (reader_builder.h)

Format implementation (src/paimon/common/format/):

  • ColumnStats — column stats merge, serialization, type-aware comparison (column_stats.cpp)
  • FileFormatFactory — format factory registry implementation (file_format_factory.cpp)

Table utilities (src/paimon/common/table/):

  • SpecialFields — well-known field definitions for system columns (special_fields.h)

Lookup store (src/paimon/common/lookup/):

  • LookupStoreFactory — abstract factory for lookup store creation (lookup_store_factory.h/cpp)
  • SortLookupStoreFactory — sorted-file based lookup store factory (sort/sort_lookup_store_factory.h/cpp)
  • SortLookupStoreFooter — footer encoding/decoding for sorted lookup files (sort/sort_lookup_store_footer.h/cpp)

Tests

  • column_stats_test.cpp — column stats merge, comparison, edge cases
  • special_fields_test.cpp — special field definitions and lookups
  • sort_lookup_store_test.cpp — sorted lookup store read/write and footer round-trip

API and Format

Adds public format interfaces under include/paimon/format/. No storage format or protocol changes.

Documentation

Generative AI tooling

Migrate-by: Aone Copilot (Claude)

@leaves12138 leaves12138 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed PR #43. The migrated format interfaces, ColumnStats, special fields, and lookup store code are consistent with the existing Paimon C++ reference implementation, and I did not find blockers.

@leaves12138
leaves12138 merged commit 35b121d into apache:main Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants