mxm commented on PR #26100:
URL: https://github.com/apache/flink/pull/26100#issuecomment-2640592983

   I think there are different concerns here: (a) data integrity and (b) data 
semantics.
   
   (a) The value of a field should always return its correct value. That's why 
the Flink runtime always check `isNullAt` before attempting to read. In 
Iceberg, we don't always do that because we rely on the FieldGetters for which 
this change is intended. If a field is null, it should read null. If a field is 
42, it should read 42, but it shouldn't return 42 if its value is null. 
Unfortunately, this can happen without a null check when reading from 
BinaryRowData.
   
   (b) It is a separate concern, whether or not to allow null values for 
nonNull types. This needs to be enforced by the layer which initializes the 
RowData.
   
   Does that make sense?


-- 
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]

Reply via email to