diff --git a/wayang-api/wayang-api-sql/pom.xml b/wayang-api/wayang-api-sql/pom.xml
index df6c38368..8b1c81478 100644
--- a/wayang-api/wayang-api-sql/pom.xml
+++ b/wayang-api/wayang-api-sql/pom.xml
@@ -26,22 +26,26 @@
4.0.0
+
+ 1.39.0
+
+
wayang-api-sql
org.apache.calcite
calcite-core
- 1.32.0
+ ${calcite.version}
org.apache.calcite
calcite-linq4j
- 1.32.0
+ ${calcite.version}
org.apache.calcite
calcite-file
- 1.29.0
+ ${calcite.version}
org.apache.wayang
diff --git a/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/converter/functions/FilterEvaluateCondition.java b/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/converter/functions/FilterEvaluateCondition.java
index c111c62d0..b1e7e72ce 100644
--- a/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/converter/functions/FilterEvaluateCondition.java
+++ b/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/converter/functions/FilterEvaluateCondition.java
@@ -78,7 +78,7 @@ public boolean eval(final Record record, final SqlKind kind, final RexNode leftO
switch (kind) {
case LIKE:
- return SqlFunctions.like(field.toString(), rexLiteral.toString().replace("'", ""));
+ return like(field.toString(), rexLiteral.toString().replace("'", ""));
case GREATER_THAN:
return isGreaterThan(field, rexLiteral);
case LESS_THAN:
@@ -127,6 +127,13 @@ public boolean eval(final Record record, final SqlKind kind, final RexNode leftO
}
}
+ private boolean like(final String s1, final String s2) {
+ final SqlFunctions.LikeFunction likeFunction = new SqlFunctions.LikeFunction();
+ final boolean isMatch = likeFunction.like(s1, s2);
+
+ return isMatch;
+ }
+
private boolean isGreaterThan(final Object o, final RexLiteral rexLiteral) {
// return rexLiteral.getValue().compareTo(o)< 0;
return ((Comparable) o).compareTo(rexLiteral.getValueAs(o.getClass())) > 0;