mattfaltyn opened a new pull request, #1872:
URL: https://github.com/apache/iceberg-go/pull/1872

   ## Summary
   
   - discard above-max and below-min sentinels while binding `IN` and `NOT IN` 
predicates
   - reuse the existing empty- and singleton-set simplifications after 
impossible values are removed
   - cover integer and floating-point narrowing plus the inclusive metrics 
scan-planning regression
   
   ## Why
   
   Applications can construct a filter with a wider Go literal type than the 
Iceberg field type. When a set mixes representable and out-of-range values, 
binding currently retains range sentinels that cannot equal any field value. 
Metrics pruning later treats those sentinels as regular typed literals and 
returns an interface-conversion error instead of planning the scan.
   
   Removing impossible set members during binding preserves membership 
semantics and keeps sentinels out of downstream predicate consumers.
   
   Closes #1870.
   
   ## Testing
   
   - `go test . -run '^TestBindAboveBelowIntMax$' -count=1`
   - `go test ./table -run '^TestEvaluators/TestInMetrics$' -count=1 -v`
   - `go test ./...`
   - `make test-assert`
   - `make test-race`
   - `golangci-lint v2.12.2 run --timeout=10m --new-from-rev origin/main` (`0 
issues`)
   
   The full repository lint invocation also reports two existing `intrange` 
findings in unchanged `catalog/rest/load_table_bench_test.go` lines 84 and 101.
   
   


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