lincoln-lil commented on PR #26100:
URL: https://github.com/apache/flink/pull/26100#issuecomment-2642090519

   My intuitive understanding of the mentioned problem in Iceberg is why not 
fix the nullability of the field?
   `RowData` as the basic structure of flink sql, follows the semantics of sql 
nullability, one field declared not-null should not be filled with null values. 
On the other hand, if a nullable field has set null bit, then its value can be 
seen as null directly and no need to read the value in the memorysegment 
(because it is reused as much as possible at the sql runtime implementation, 
which can save some operations).
   Accurate nullability is important to the sql system, not only to ensure 
proper processing on the consumer side (e.g., the field may be used as the 
primary key of the target table, which requires not null), but also gives the 
planner more optimization possibilities (e.g., predicate derivation, and also 
the runtime code can skip the null check overhead for non-null fields, etc.).


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