badalprasadsingh commented on code in PR #2513:
URL: https://github.com/apache/iceberg-go/pull/2513#discussion_r4541110723


##########
table/evaluators.go:
##########
@@ -74,6 +74,12 @@ func (m *manifestEvalVisitor) Eval(manifest 
iceberg.ManifestFile) (bool, error)
        if len(parts) == 0 {
                return rowsMightMatch, nil
        }
+       for _, part := range parts {
+               if (part.LowerBound == nil) != (part.UpperBound == nil) {
+                       // One bound without the other cannot prove the 
manifest has no matches.
+                       return rowsMightMatch, nil
+               }
+       }

Review Comment:
   ```go
   for _, part := range parts {
        noValues := part.LowerBound == nil && !part.ContainsNull &&
                (part.ContainsNaN == nil || !*part.ContainsNaN)
        if noValues || (part.LowerBound == nil) != (part.UpperBound == nil) {
                return rowsMightMatch, nil
        }
   }
   ```



##########
table/evaluators.go:
##########
@@ -74,6 +74,12 @@ func (m *manifestEvalVisitor) Eval(manifest 
iceberg.ManifestFile) (bool, error)
        if len(parts) == 0 {
                return rowsMightMatch, nil
        }
+       for _, part := range parts {
+               if (part.LowerBound == nil) != (part.UpperBound == nil) {
+                       // One bound without the other cannot prove the 
manifest has no matches.
+                       return rowsMightMatch, nil
+               }
+       }

Review Comment:
   P0: if a manifest holds only "", go writes no bounds and contains_null = 
false (#2407), merge-on-read deletes in "" partitions get such manifests, the 
PR reads the data but skips those deletes, so col = '' returns deleted rows
   
   better: keep them here, drop the dynamicOverwriteManifestCandidates loop, 
add tests



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