JingsongLi commented on code in PR #9423:
URL: https://github.com/apache/paimon/pull/9423#discussion_r4056187058


##########
paimon-common/src/main/java/org/apache/paimon/predicate/PredicateBuilder.java:
##########
@@ -286,6 +286,10 @@ public Predicate notIn(int idx, List<Object> literals) {
         return in(idx, literals).negate().get();
     }
 
+    public Predicate notIn(Transform transform, List<Object> literals) {
+        return in(transform, literals).negate().get();

Review Comment:
   [P2] Preserve empty-set semantics for Transform NOT IN
   
   This new overload inherits an empty-list failure from in(Transform, ...): 
unlike in(int, ...), that helper does not special-case empty input and calls 
or(empty), which throws. Therefore notIn(transform, emptyList()) raises 
IllegalArgumentException while notIn(idx, emptyList()) returns a valid NotIn 
predicate. Please align the empty-set handling, preferably in the Transform IN 
helper, and add an empty-list regression test for this overload.



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

Reply via email to