manuzhang opened a new pull request, #1070:
URL: https://github.com/apache/iceberg-cpp/pull/1070

   V4 introduces a manifest tree with tracking metadata, colocated 
deletion-vector references, and summaries for tracked manifests. This draft 
adds the fixed-schema building blocks for that model, following the developing 
[v4 manifest schema](https://iceberg.apache.org/spec/#manifest-schema).
   
   - Add `FileTracking`, `DeletionVectorMetadata`, and `ManifestInfo` data 
carriers and `StructType` schemas with the spec's field IDs, names, types, and 
requiredness.
   - Add a separate `FileTrackingStatus` decoder for EXISTING, ADDED, DELETED, 
REPLACED, and MODIFIED. MODIFIED entries are live; REPLACED entries are not. 
Legacy manifest status decoding remains limited to v1-v3 statuses.
   - Preserve absent inheritance fields and optional binary metadata, and 
include the new public header in the C++20 compatibility check.
   
   This is a foundation only: the maximum supported table format remains v3. 
These data carriers do not implement v4 manifest serialization, inheritance, or 
tracked-file validation. Follow-ups include `TrackedFile` and column-file 
metadata, schema-dependent `content_stats`, legacy adapters, root/leaf manifest 
I/O and planning, and the remaining v4 table requirements before enabling v4 
tables. The v4 spec is still under development, so this PR is intentionally a 
draft for API and scope review.
   
   Validation on macOS with AppleClang 21, an isolated Debug core build, and 
`ICEBERG_CXX20_COMPAT=ON`:
   
   - `v4_types_test`: 12 tests covering schema JSON contracts, status 
decoding/liveness, legacy rejection, and missing metadata.
   - `schema_test`, `table_test`, `json_serde_test`, and 
`cpp20_compatibility_test`: passed.
   - `pre-commit run --files` for all six changed files: passed.
   - `git diff --check`: passed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to