You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by zy...@apache.org on 2023/07/25 14:30:35 UTC
[doris] branch master updated: [fix](jdbc catalog) fix jdbc catalog like expr query error (#22141)
This is an automated email from the ASF dual-hosted git repository.
zykkk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new b2be42c31c [fix](jdbc catalog) fix jdbc catalog like expr query error (#22141)
b2be42c31c is described below
commit b2be42c31c263b5b180c15f62c89c97a7f085f95
Author: ZhangYu0123 <67...@users.noreply.github.com>
AuthorDate: Tue Jul 25 22:30:28 2023 +0800
[fix](jdbc catalog) fix jdbc catalog like expr query error (#22141)
---
build.sh | 4 ++--
.../apache/doris/analysis/FunctionCallExpr.java | 24 ++++++++++++++++------
2 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/build.sh b/build.sh
index c7de7279b1..01fef5310f 100755
--- a/build.sh
+++ b/build.sh
@@ -382,7 +382,7 @@ if [[ "${BUILD_BE_JAVA_EXTENSIONS}" -eq 1 && "$(uname -s)" == 'Darwin' ]]; then
if [[ -n "${CAUSE}" ]]; then
echo -e "\033[33;1mWARNNING: \033[37;1mSkip building with BE Java extensions due to ${CAUSE}.\033[0m"
BUILD_BE_JAVA_EXTENSIONS=0
- BUILD_BE_JAVA_EXTENSIONS_IN_CONF=1
+ BUILD_BE_JAVA_EXTENSIONS_FALSE_IN_CONF=1
fi
fi
@@ -615,7 +615,7 @@ if [[ "${OUTPUT_BE_BINARY}" -eq 1 ]]; then
cp -r -p "${DORIS_THIRDPARTY}/installed/lib/hadoop_hdfs/" "${DORIS_OUTPUT}/be/lib/"
fi
- if [[ "${BUILD_BE_JAVA_EXTENSIONS_IN_CONF}" -eq 1 ]]; then
+ if [[ "${BUILD_BE_JAVA_EXTENSIONS_FALSE_IN_CONF}" -eq 1 ]]; then
echo -e "\033[33;1mWARNNING: \033[37;1mDisable Java UDF support in be.conf due to the BE was built without Java UDF.\033[0m"
cat >>"${DORIS_OUTPUT}/be/conf/be.conf" <<EOF
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
index 0cc91fcd6b..e9117bcf9c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
@@ -584,12 +584,24 @@ public class FunctionCallExpr extends Expr {
expr = this;
}
StringBuilder sb = new StringBuilder();
- sb.append(((FunctionCallExpr) expr).fnName);
- sb.append(paramsToSql());
- if (fnName.getFunction().equalsIgnoreCase("json_quote")
- || fnName.getFunction().equalsIgnoreCase("json_array")
- || fnName.getFunction().equalsIgnoreCase("json_object")) {
- return forJSON(sb.toString());
+
+ // when function is like or regexp, the expr generated sql should be like this
+ // eg: child1 like child2
+ if (fnName.getFunction().equalsIgnoreCase("like")
+ || fnName.getFunction().equalsIgnoreCase("regexp")) {
+ sb.append(children.get(0).toSql());
+ sb.append(" ");
+ sb.append(((FunctionCallExpr) expr).fnName);
+ sb.append(" ");
+ sb.append(children.get(1).toSql());
+ } else {
+ sb.append(((FunctionCallExpr) expr).fnName);
+ sb.append(paramsToSql());
+ if (fnName.getFunction().equalsIgnoreCase("json_quote")
+ || fnName.getFunction().equalsIgnoreCase("json_array")
+ || fnName.getFunction().equalsIgnoreCase("json_object")) {
+ return forJSON(sb.toString());
+ }
}
return sb.toString();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org