anuragmantri opened a new pull request, #18615:
URL: https://github.com/apache/iceberg/pull/18615

   Follow-up to #17956, which returns every opaque partition predicate to Spark 
for re-evaluation. After this PR, a predicate is returned only when some spec 
in the table cannot evaluate it, using the same per-spec check the scan uses to 
prune tasks. 
   
   This PR adds two guards to keep results correct. 
   - The changelog builder still returns these predicates because its scan does 
not evaluate them. 
   - Aggregate pushdown is skipped when partition predicates are present, since 
it ignores them and `count(*)` returns the unfiltered count otherwise. 
    
   The check covers all table specs rather than only scanned ones, which is 
conservative. Narrowing it is possible as a follow-up.
   
   Test plan: 
   - builder tests cover the dropped, kept and spec-evolved cases, including a 
field whose ordinal differs across specs, plus the changelog builder. 
   - SQL tests cover count(*) and results on an evolved spec.
   
   ---
   AI Disclosure
    - Model: Claude Sonnet 5.5
    - Platform/Tool: Claude Code
    - Human Oversight: fully reviewed by me.
    - Prompt Summary: Implement the TODO in BaseSparkScanBuilder.pushPredicates 
left by #17956


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