This is an automated email from the ASF dual-hosted git repository.

xiangfu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new fd7a5ab2242 Making LIKE predicate case in-sensitive. (#16568)
fd7a5ab2242 is described below

commit fd7a5ab2242b3fd12841262c82eeb0b4fbed1acf
Author: RAGHVENDRA KUMAR YADAV <[email protected]>
AuthorDate: Mon Aug 11 01:12:09 2025 -0700

    Making LIKE predicate case in-sensitive. (#16568)
---
 .../pinot/common/function/scalar/regexp/RegexpLikeConstFunctions.java | 2 +-
 .../pinot/common/function/scalar/regexp/RegexpLikeVarFunctions.java   | 2 +-
 .../org/apache/pinot/common/request/context/RequestContextUtils.java  | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeConstFunctions.java
 
b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeConstFunctions.java
index 80571cdcb41..ac20a543442 100644
--- 
a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeConstFunctions.java
+++ 
b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeConstFunctions.java
@@ -54,7 +54,7 @@ public class RegexpLikeConstFunctions {
   public boolean like(String inputStr, String likePatternStr) {
     if (_matcher == null) {
       String regexPatternStr = 
RegexpPatternConverterUtils.likeToRegexpLike(likePatternStr);
-      _matcher = PatternFactory.compile(regexPatternStr).matcher("");
+      _matcher = PatternFactory.compile(regexPatternStr, true).matcher("");
     }
 
     return _matcher.reset(inputStr).find();
diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeVarFunctions.java
 
b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeVarFunctions.java
index 7788559c028..de6f29fbef1 100644
--- 
a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeVarFunctions.java
+++ 
b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/regexp/RegexpLikeVarFunctions.java
@@ -45,6 +45,6 @@ public class RegexpLikeVarFunctions {
   @ScalarFunction
   public static boolean likeVar(String inputStr, String likePatternStr) {
     String regexPatternStr = 
RegexpPatternConverterUtils.likeToRegexpLike(likePatternStr);
-    return regexpLikeVar(inputStr, regexPatternStr);
+    return PatternFactory.compile(regexPatternStr, 
true).matcher(inputStr).find(); // Case insensitive by default
   }
 }
diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java
 
b/pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java
index f4bd9b4c00a..4517b1f43d0 100644
--- 
a/pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java
+++ 
b/pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java
@@ -242,7 +242,7 @@ public class RequestContextUtils {
 
       case LIKE:
         return FilterContext.forPredicate(new 
RegexpLikePredicate(getExpression(operands.get(0)),
-            
RegexpPatternConverterUtils.likeToRegexpLike(getStringValue(operands.get(1)))));
+            
RegexpPatternConverterUtils.likeToRegexpLike(getStringValue(operands.get(1))), 
"i"));
       case TEXT_CONTAINS:
         return FilterContext.forPredicate(
             new TextContainsPredicate(getExpression(operands.get(0)), 
getStringValue(operands.get(1))));
@@ -418,7 +418,7 @@ public class RequestContextUtils {
         }
       case LIKE:
         return FilterContext.forPredicate(new 
RegexpLikePredicate(operands.get(0),
-            
RegexpPatternConverterUtils.likeToRegexpLike(getStringValue(operands.get(1)))));
+            
RegexpPatternConverterUtils.likeToRegexpLike(getStringValue(operands.get(1))), 
"i"));
       case TEXT_CONTAINS:
         return FilterContext.forPredicate(new 
TextContainsPredicate(operands.get(0), getStringValue(operands.get(1))));
       case TEXT_MATCH:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to