feat(blob): support blob-desc/blob-view config parsing, schema validation and BlobFileContext#291
Merged
Merged
Conversation
…tion and BlobFileContext
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR adds support for parsing and validating new blob-related schema options (blob-descriptor-field, blob-view-field, blob-external-storage-field, blob-external-storage-path) and introduces a BlobFileContext utility to classify BLOB fields for inline/blob-file/external-storage behaviors.
Changes:
- Extend
CoreOptionsto parse and expose descriptor/view/external-storage blob configurations. - Expand schema validation to validate descriptor/view/external-storage field semantics and improve error messages.
- Add
BlobFileContextand unit tests to classify BLOB fields for different storage categories.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/paimon/core/schema/schema_validation_test.cpp | Adds/updates validation test cases for new blob options and error messages. |
| src/paimon/core/schema/schema_validation.cpp | Implements validation for descriptor/view/external-storage blob options; adjusts blob-related checks. |
| src/paimon/core/operation/blob_file_context_test.cpp | Adds unit tests for BlobFileContext classification behavior. |
| src/paimon/core/operation/blob_file_context.h | Defines BlobFileContext public API for BLOB field classification. |
| src/paimon/core/operation/blob_file_context.cpp | Implements BlobFileContext creation and query helpers. |
| src/paimon/core/core_options_test.cpp | Adds tests for parsing new blob option keys and derived inline fields. |
| src/paimon/core/core_options.h | Adds getters for descriptor/view/inline/external-storage blob configurations. |
| src/paimon/core/core_options.cpp | Parses new blob options and implements new getters. |
| src/paimon/common/defs.cpp | Defines new option key constants. |
| src/paimon/CMakeLists.txt | Registers new source and test files in the build. |
| include/paimon/defs.h | Documents the new blob option keys and semantics in the public header. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lszskye
reviewed
May 20, 2026
lszskye
approved these changes
May 20, 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.
Purpose
blob-descriptor-field,blob-view-field,blob-external-storage-field,blob-external-storage-path.BlobFileContextutil for blob descriptor and blob view write and read.Linked issue: #283
Tests
BlobFileContextTest
SchemaValidationTest.TestWithBlobField
API and Format
Documentation
Generative AI tooling
Generated-by: Claude-4.6-Opus