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

Reply via email to