Hi everyone,

I’d like to vote on the spec changes in PR 12841
<https://github.com/apache/iceberg/pull/12841>. This is a small change that
makes handling default values for structs much easier. Initially, we
allowed both a struct and its fields to have default values, but the values
could conflict. For instance, ADD COLUMN point struct<x int default 0, y
int default 0> default struct(-1, -1).

The fix is to always track default values at the field level and allow only
null or null-null for the struct level defaults. That makes the feature
more predictable because the struct’s default never needs to be modified or
have field-level changes applied (i.e. removing field y or adding field z).

In addition, I want to mention that this is not a one-way decision. We can
always allow the struct-level default to differ later, if we have use cases
in which a missing struct needs to have a different default than missing
fields.

Please vote in the next 72 hours:

[ ] +1 Add these changes to the spec
[ ] +0
[ ] -1 I have questions and/or concerns

Thanks,

Ryan

Reply via email to