manuzhang opened a new pull request, #873:
URL: https://github.com/apache/iceberg-cpp/pull/873

   ## What changed
   
   - add a fallible, pull-based `Iterator<T>` utility
   - stream manifest entries and file scan task planning without materializing 
all results
   - preserve scan metrics reporting for completed and partially consumed 
iterators
   - update the demo and add coverage for iterator lifetime and table scan 
planning
   
   ## Why
   
   The existing scan planning APIs materialize every manifest entry and file 
scan task before returning. Large tables can therefore require memory 
proportional to the full scan plan. The new iterator APIs process one manifest 
batch at a time and let callers consume tasks on demand while keeping the 
existing eager APIs compatible.
   
   ## User impact
   
   Callers can use `DataTableScan::PlanFilesIterator()` to bound planning 
memory and stop planning early. Existing `PlanFiles()` behavior remains 
available. Streaming planning is pull-based and does not eagerly submit 
manifest work to the configured planning executor.
   
   ## Validation
   
   - independent pre-commit review completed with no remaining findings
   - `git diff --cached --check`
   - local tests were not run, per repository agent instructions
   


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