QuakeWang commented on code in PR #681:
URL: https://github.com/apache/paimon-rust/pull/681#discussion_r3733092395
##########
crates/paimon/src/spec/index_manifest.rs:
##########
@@ -71,7 +71,8 @@ pub const INDEX_MANIFEST_ENTRY_SCHEMA: &str = r#"{
{"name": "_INDEX_FIELD_ID", "type": "int"},
{"name": "_EXTRA_FIELD_IDS", "type": ["null", {"type":
"array", "items": "int"}], "default": null},
{"name": "_INDEX_META", "type": ["null", "bytes"],
"default": null},
- {"name": "_SOURCE_META", "type": ["null", "bytes"],
"default": null}
+ {"name": "_SOURCE_META", "type": ["null", "bytes"],
"default": null},
+ {"name": "_BUILD_SCHEMA_ID", "type": ["null", "long"],
"default": null}
Review Comment:
It records the table schema ID used to build a global-index entry. It closes
a race with ALTER COLUMN TYPE: schema evolution does not advance the data
snapshot, so an index built with the old field type may still pass the
latest-snapshot commit guard. Readers compare the indexed field types from this
schema with the current schema and ignore incompatible entries. Legacy and Java
entries leave it null and are handled conservatively through schema history.
--
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]