I have a question around the existing v3 spec requirements and I am seeking feedback for a draft PR adding support for default value parsing of nulls and structs. . *Question 1* "The write-default is a forward-compatible change because it is only used at write time. Old writers will fail because the field is missing." <https://github.com/apache/iceberg/blob/cc38966a84775a369bb4e35e8158845a0e8a54a6/format/spec.md?plain=1#L1644>
This *appears* to be based on the comment here: "In most cases, Hive, Trino, and Spark will throw an error if the INSERT INTO statement does not specify values for all columns." <https://github.com/apache/iceberg/pull/2496#issuecomment-1048352760>, but I am not positive. I do not see a spec requirement that states engines need to fail writes on iceberg <=2 when writing a missing value. Iceberg does not currently have validation blocking v2 table metadata from containing write-default due to this requirement. Is this expected write behavior documented somewhere, should this be changed, etc? . *Question 2* I have a draft PR <https://github.com/apache/iceberg/pull/14052> around adding in default value support for structs and null value parsing - see the PR for more specifics. Does anyone have any comments on the draft PR? . Regards, Richie
