feat(catalog): add LoadTableSchema interface#10
Merged
lxy-9602 merged 2 commits intoalibaba:mainfrom Dec 18, 2025
Merged
Conversation
lxy-9602
reviewed
Dec 16, 2025
642de87 to
e90b3af
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds a LoadTableSchema interface to the Catalog API, allowing users to retrieve table schema metadata. It introduces a new public Schema class that wraps TableSchema and provides access to table metadata through a simplified interface.
Key changes:
- Adds
LoadTableSchemamethod to theCataloginterface that returns schema information for a specified table - Introduces a new public
Schemaclass ininclude/paimon/schema/schema.hthat provides accessors for table metadata - Adds
GetArrowSchema()method toTableSchemato export schema to Arrow C Data Interface format
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| include/paimon/catalog/catalog.h | Adds LoadTableSchema pure virtual method to Catalog interface |
| include/paimon/schema/schema.h | Defines new public Schema class with metadata accessors |
| src/paimon/core/catalog/file_system_catalog.h | Implements LoadTableSchema and exposes GetFileSystem/Warehouse methods |
| src/paimon/core/catalog/file_system_catalog.cpp | Implements LoadTableSchema by delegating to Schema::MakeImpl |
| src/paimon/core/schema/schema.cpp | Implements Schema class with delegation to internal TableSchema |
| src/paimon/core/schema/table_schema.h | Declares GetArrowSchema method |
| src/paimon/core/schema/table_schema.cpp | Implements GetArrowSchema using Arrow C Data Interface export |
| src/paimon/core/catalog/file_system_catalog_test.cpp | Adds comprehensive test coverage for LoadTableSchema functionality |
| src/paimon/CMakeLists.txt | Adds schema.cpp to build configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
72631ca to
5ff2fea
Compare
lxy-9602
reviewed
Dec 18, 2025
97e4de7 to
f2678f9
Compare
f198e6a to
84794b5
Compare
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.
Purpose
Catalog add loadTableSchema interface.
Tests
file_system_catalog_test.cpp : TEST(FileSystemCatalogTest, TestValidateTableSchema);
API and Format
Documentation