dannycjones commented on issue #3250: URL: https://github.com/apache/iceberg-rust/issues/3250#issuecomment-5794971167
> Hi Danny, thanks for jumping on this and the detailed analysis. > > > I plan to have a lot of the validation evaluated late for default values rather than at construction > > Late validation seems ok to me. Loading a table shouldn't fail because of a bad default on a column the query never touches. > > Just to make sure I understand this correctly: we still want to validate the default values that we write in iceberg-rust, so we ensure that iceberg-rust doesn't produce metadata that we couldn't read, correct? That's nuanced. I want to validate anything we change in iceberg-rust - so if a column has a bad default on load, we'll still write it into new metadata. But if we construct a `TableMetadata` with an updated schema or use the update schema actions, those will validate so we don't _introduce_ bad defaults. The deferred defaults is going to be a bit more involved than I thought to defer all validation, since deserialization will flag things like a string instead of an int. I'll have a think on if we want to defer all of it or not. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
