Skip to content

feat(blob): support blob-desc/blob-view config parsing, schema validation and BlobFileContext#291

Merged
lxy-9602 merged 8 commits into
alibaba:mainfrom
lxy-9602:blob-desc
May 21, 2026
Merged

feat(blob): support blob-desc/blob-view config parsing, schema validation and BlobFileContext#291
lxy-9602 merged 8 commits into
alibaba:mainfrom
lxy-9602:blob-desc

Conversation

@lxy-9602
Copy link
Copy Markdown
Collaborator

@lxy-9602 lxy-9602 commented May 19, 2026

Purpose

  1. Config parsing: blob-descriptor-field, blob-view-field, blob-external-storage-field, blob-external-storage-path.
  2. Schema validation: validate blob, blob desc, blob view fields.
  3. Add BlobFileContext util 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

@zjw1111 zjw1111 requested review from Copilot and removed request for Copilot May 19, 2026 09:10
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 CoreOptions to 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 BlobFileContext and 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.

Comment thread src/paimon/core/operation/blob_file_context_test.cpp
Comment thread src/paimon/core/operation/blob_file_context_test.cpp
Comment thread src/paimon/core/operation/blob_file_context.cpp
Comment thread src/paimon/core/operation/blob_file_context.cpp
Comment thread src/paimon/core/schema/schema_validation.cpp
Comment thread src/paimon/core/schema/schema_validation_test.cpp
Comment thread src/paimon/core/operation/blob_file_context_test.cpp
Comment thread include/paimon/defs.h
Comment thread src/paimon/core/operation/blob_file_context.cpp
Comment thread src/paimon/core/operation/blob_file_context_test.cpp
@lxy-9602 lxy-9602 merged commit 1e5f331 into alibaba:main May 21, 2026
9 checks passed
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.

3 participants