fallintoplace opened a new pull request, #1966: URL: https://github.com/apache/iceberg-go/pull/1966
## What - **Elide identity partition predicates** from local scan task residuals. - Mixed filters keep only the remaining row predicate. Example: `tenant_id = acme AND amount > 100` becomes `amount > 100`. - **Use the task residual for Arrow projection**, so `AlwaysTrue` residuals do not read filter-only columns. - Keep unknown partition values and transformed predicates conservative. - This covers the identity-only part of Java residual evaluation. ## Why Local scans already use task residuals while reading, but local planning left them nil. This made files re-evaluate predicates already proven by identity partition values. ## Benchmark Command: `go test ./table -run '^$' -bench '^BenchmarkPartitionResidualPlanning$' -benchmem -count=5` Apple M1 Pro: - `0.866 to 0.897 ms/op` for 4,096 files - `425,984 B/op` - `16,384 allocs/op` ## Checks - `go test ./table -count=1` - `go test -race ./table -count=1` - `/Users/hoangvu/go/bin/golangci-lint run ./table/... --timeout=5m` - Full non-cloud package test sweep -- 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]
