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

   ## Summary
   
   - **Specialize** the `file_path` bounds check used by partition-scoped 
positional-delete planning.
   - Remove per-data-file expression rewrite, binding, and evaluator setup.
   - Keep the existing inclusive bounds semantics and conservative behavior 
when metadata is missing.
   - No public API changes.
   
   ## Why
   
   The positional-delete index already narrows candidates by partition and 
sequence number. For every data file, it still built a new generic metrics 
evaluator for `EqualTo(file_path, dataFilePath)`.
   
   That repeated setup was much more work than the remaining question required: 
can this delete file's `file_path` bounds contain the data file path?
   
   The new internal helper reads only the `file_path` statistics it needs:
   
   - Empty delete files cannot match.
   - Lower and upper bounds remain inclusive.
   - Missing bounds remain matchable.
   - Null-only or NaN-only statistics remain non-matchable.
   
   ## Performance
   
   Focused `BenchmarkPositionalDeletePlanningPartitionScopedMetrics/indexed` 
result on an Apple M1 Pro:
   
   - Before: about 159 ms/op, 124.9 MB/op, 4.03M allocs/op
   - After: about 23.5 ms/op, 91 KB/op, 7.0k allocs/op
   
   The existing benchmark still reports the same match count.
   
   ## Tests
   
   - `go test ./...`
   - `go test -race ./table`
   - `go vet ./table`
   - `go test -tags=assert -v 
-run='^(TestPositionalDeleteIndex|TestFilePathMayMatch)$' ./table`


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