Skip to content

fix(blob): support blob-only writes and reject nested blob fields - #429

Merged
lxy-9602 merged 5 commits into
alibaba:mainfrom
lxy-9602:write-single-blob
Jul 27, 2026
Merged

fix(blob): support blob-only writes and reject nested blob fields#429
lxy-9602 merged 5 commits into
alibaba:mainfrom
lxy-9602:write-single-blob

Conversation

@lxy-9602

Copy link
Copy Markdown
Collaborator

Purpose

Linked issue: #283

This PR improves BLOB schema validation and data-evolution partial writes.

  • Reject BLOB fields nested in ARRAY, MAP, or STRUCT types because C++ currently supports only top-level BLOB fields.
  • Explicitly reject ARRAY<BLOB>, which is supported by Java Paimon but not yet supported by Paimon C++.
  • Allow data-evolution writes whose write schema contains only BLOB fields.
  • Keep the existing row-tracking requirement that a BLOB-only partial write must provide a matching first_row_id.

Tests

ArrowSchemaValidatorTest.TestBlobFieldMustBeTopLevel
BlobUtilsTest.SeparateBlobArray
AppendOnlyWriterTest.TestWriteWithOnlyBlobField
BlobTableInteTest.TestDataEvolutionBlobOnlyWriteWithFirstRowId
BlobTableInteTest.TestDataEvolutionBlobOnlyFirstCommitFailsWithoutFirstRowId

API and Format

Documentation

Generative AI tooling

Generated-by: OpenAI Codex (GPT-5)

@lxy-9602
lxy-9602 force-pushed the write-single-blob branch from 31620d3 to 8b64b52 Compare July 24, 2026 03:04

@lszskye lszskye left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

+1

@lxy-9602
lxy-9602 merged commit 6366ca6 into alibaba:main Jul 27, 2026
10 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.

2 participants