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]

Reply via email to