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

lihaopeng 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 51f320a6061 [bug](function) fix array_apply function return wrong 
result (#28133)
51f320a6061 is described below

commit 51f320a60618316f3b4ac2f3f1c5ebeefa64f5ba
Author: zhangstar333 <[email protected]>
AuthorDate: Fri Dec 8 20:14:54 2023 +0800

    [bug](function) fix array_apply function return wrong result (#28133)
---
 .../src/main/java/org/apache/doris/analysis/FunctionCallExpr.java | 3 +++
 .../array_functions/test_array_functions_by_literal.out           | 8 +++++++-
 .../array_functions/test_array_functions_by_literal.groovy        | 2 ++
 3 files changed, 12 insertions(+), 1 deletion(-)

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 ff113892b6b..f63b4104301 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
@@ -1899,6 +1899,9 @@ public class FunctionCallExpr extends Expr {
                         || 
fnName.getFunction().equalsIgnoreCase("array_shuffle")
                         || fnName.getFunction().equalsIgnoreCase("shuffle")
                         || 
fnName.getFunction().equalsIgnoreCase("array_except")
+                        || fnName.getFunction().equalsIgnoreCase("array_apply")
+                        || 
fnName.getFunction().equalsIgnoreCase("array_position")
+                        || 
fnName.getFunction().equalsIgnoreCase("array_contains")
                         || 
fnName.getFunction().equalsIgnoreCase("width_bucket"))
                         && (args[ix].isDecimalV3() || 
(children.get(0).getType().isArrayType()
                         && (((ArrayType) 
children.get(0).getType()).getItemType().isDecimalV3())
diff --git 
a/regression-test/data/query_p0/sql_functions/array_functions/test_array_functions_by_literal.out
 
b/regression-test/data/query_p0/sql_functions/array_functions/test_array_functions_by_literal.out
index e90b40f61c4..97b989ef467 100644
--- 
a/regression-test/data/query_p0/sql_functions/array_functions/test_array_functions_by_literal.out
+++ 
b/regression-test/data/query_p0/sql_functions/array_functions/test_array_functions_by_literal.out
@@ -53,6 +53,9 @@
 -- !sql --
 true
 
+-- !sql --
+true
+
 -- !sql --
 false
 
@@ -86,6 +89,9 @@ true
 -- !sql --
 true
 
+-- !sql --
+2
+
 -- !sql --
 1
 
@@ -732,7 +738,7 @@ _
 [1000002]
 
 -- !sql --
-[1.111, 2.222, 3.333]
+[2.222, 3.333]
 
 -- !sql --
 ["2022-01-03 00:00:00", "2021-01-01 00:00:00"]
diff --git 
a/regression-test/suites/query_p0/sql_functions/array_functions/test_array_functions_by_literal.groovy
 
b/regression-test/suites/query_p0/sql_functions/array_functions/test_array_functions_by_literal.groovy
index 58e655608a5..f335cd72115 100644
--- 
a/regression-test/suites/query_p0/sql_functions/array_functions/test_array_functions_by_literal.groovy
+++ 
b/regression-test/suites/query_p0/sql_functions/array_functions/test_array_functions_by_literal.groovy
@@ -40,6 +40,7 @@ suite("test_array_functions_by_literal") {
 
 
     // array_contains function
+    qt_sql "select array_contains([1.111, 2, 3.333], 2);"
     qt_sql "select array_contains([1,2,3], 1)"
     qt_sql "select array_contains([1,2,3], 4)"
     qt_sql "select array_contains([1,2,3,NULL], 1)"
@@ -54,6 +55,7 @@ suite("test_array_functions_by_literal") {
     qt_sql "select array_contains(array(cast (111.111 as decimalv3(6,3)),cast 
(222.222 as decimalv3(6,3))), cast (111.111 as decimalv3(6,3)))"
 
     // array_position function
+    qt_sql "select array_position([1.111, 2, 3.333], 2);"
     qt_sql "select array_position([1,2,3], 1)"
     qt_sql "select array_position([1,2,3], 3)"
     qt_sql "select array_position([1,2,3], 4)"


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

Reply via email to