protocol_rfcs/iceberg-compat-v3.md
This protocol change introduces a compatibility flag, which ensures that a delta table can be safely read and written as an Apache Iceberg™ format table, similar to IcebergCompatV1 and IcebergCompatV2.
New Section after Iceberg Compatibility V2
This table feature (icebergCompatV3) ensures that Delta tables can be converted to Apache Iceberg™ format, though this table feature does not implement or specify that conversion.
To support this feature:
columnMapping must exist in the protocol's readerFeatures.icebergCompatV3 must exist in the table protocol's writerFeatures.This table feature is enabled when the table property delta.enableIcebergCompatV3 is set to true.
NOTE: Unlike IcebergCompatV1 and IcebergCompatV2, this feature does NOT forbid supporting and enabling Deletion Vectors on the table.
When this feature is supported and enabled, writers must:
name or id modeelement field of ArrayTypes and the nested key and value fields of MapTypes be assigned 32 bit integer identifiers. The requirement to ID allocation is the same as that in IcebergCompatV2.AddFiles committed to the table have the numRecords statistic populated in their stats fieldpart_a INT with partition spec part_b INT must be blockedpart_a INT with partition spec part_a LONG is allowed