anoopj commented on code in PR #3058:
URL: https://github.com/apache/iceberg-rust/pull/3058#discussion_r3845696624


##########
crates/iceberg/src/arrow/reader/pipeline.rs:
##########
@@ -421,6 +456,27 @@ impl FileScanTaskReader {
             };
         }
 
+        if project_row_id {
+            // Synthesize the column, gated on `first_row_id`. Java gates it 
the same way
+            // (`ValueReaders.rowIds` returns nulls when the base row id is 
null); unlike
+            // `_last_updated_sequence_number` there is no 
data-sequence-number dependency.
+            // Reject a name-only physical column, but only when we would read 
it.
+            if task.first_row_id.is_some() && row_id_present_by_name_only {

Review Comment:
   Went with the unconditional reject. I dropped the first_row_id.is_some() && 
gate. A name-only physical _row_id can't be threaded either way, so it's now 
rejected regardless of first_row_id, removing the silent all-null path.



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