From 549ee228788111ef4bcc490e39da6bd934f26e65 Mon Sep 17 00:00:00 2001 From: mspruc Date: Thu, 1 May 2025 14:46:24 +0200 Subject: [PATCH] increase calcite version & fix deprecated method --- wayang-api/wayang-api-sql/pom.xml | 10 +++++++--- .../converter/functions/FilterEvaluateCondition.java | 9 ++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) 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;