cappyzawa opened a new pull request, #3357:
URL: https://github.com/apache/iceberg-rust/pull/3357

   ## Which issue does this PR close?
   
   - Closes apache/iceberg-rust#3356.
   
   ## What changes are included in this PR?
   
   - `FileScanTaskReader::process` turns off both `preload_column_index` and 
`preload_offset_index` for a task without a predicate or delete files, since 
such a task builds no row selection and nothing reads its page index.
   - Tasks with a predicate or deletes keep loading both indexes as before. The 
column index is unused there too when row selection is disabled, but the offset 
index lets Parquet fetch only the pages a row filter or positional delete 
selects, so narrowing that case is left out of this change.
   - `ParquetReadOptions::preload_page_index` is removed. The column and offset 
policies applied after it always overrode it, which is how the per-task 
decision stopped taking effect.
   
   ## Are these changes tested?
   
   Yes. `test_scan_without_predicate_or_deletes_does_not_read_page_index` scans 
the same file with and without a predicate, using a minimal metadata prefetch 
hint so the page index is fetched separately, and checks that the difference in 
bytes read equals the page index length. It fails on `main` with a difference 
of 0.
   
   ## AI Disclosure
   
   Claude (Claude Code) helped investigate the reader, write the change and the 
test, and draft this description. I reviewed the change and ran the tests.
   


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