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

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 92a0919e9ce branch-2.1: [Bug](function)fix json_object function check 
null nums error as return bool #44321 (#44381)
92a0919e9ce is described below

commit 92a0919e9ce785234b5a84746106eb39abd47602
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Nov 22 23:51:33 2024 +0800

    branch-2.1: [Bug](function)fix json_object function check null nums error 
as return bool #44321 (#44381)
    
    Cherry-picked from #44321
    
    Co-authored-by: zhangstar333 <[email protected]>
---
 be/src/vec/functions/function_json.cpp                              | 6 +++---
 .../query_p0/sql_functions/json_function/test_query_json_object.out | 4 ++++
 .../sql_functions/json_function/test_query_json_object.groovy       | 2 ++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/be/src/vec/functions/function_json.cpp 
b/be/src/vec/functions/function_json.cpp
index 19a359dabe6..ca2a605f48d 100644
--- a/be/src/vec/functions/function_json.cpp
+++ b/be/src/vec/functions/function_json.cpp
@@ -784,13 +784,13 @@ public:
         for (int i = 0; i < args; i += 2) {
             const auto* null_map = nullmaps[i];
             if (null_map) {
-                const bool not_null_num =
+                auto not_null_num =
                         
simd::count_zero_num((int8_t*)null_map->get_data().data(), size);
                 if (not_null_num < size) {
                     return Status::InternalError(
                             "function {} can not input null value , JSON 
documents may not contain "
-                            "NULL member names.",
-                            name);
+                            "NULL member names. input size is {}:{}",
+                            name, size, not_null_num);
                 }
             }
         }
diff --git 
a/regression-test/data/query_p0/sql_functions/json_function/test_query_json_object.out
 
b/regression-test/data/query_p0/sql_functions/json_function/test_query_json_object.out
index 6dc88471573..13d30f6e75e 100644
--- 
a/regression-test/data/query_p0/sql_functions/json_function/test_query_json_object.out
+++ 
b/regression-test/data/query_p0/sql_functions/json_function/test_query_json_object.out
@@ -6,3 +6,7 @@
 {"k0":4,"k1":null,"k2":null,"k3":"test","k4":"2022-01-01 
11:11:11","k5":null,"k6":"k6"}
 {"k0":5,"k1":1,"k2":true,"k3":"test","k4":"2022-01-01 
11:11:11","k5":null,"k6":"k6"}
 
+-- !sql2 --
+{"k0":"k00"}
+{"k1":"k11"}
+
diff --git 
a/regression-test/suites/query_p0/sql_functions/json_function/test_query_json_object.groovy
 
b/regression-test/suites/query_p0/sql_functions/json_function/test_query_json_object.groovy
index c3b1e35b5e6..2ee0c64276c 100644
--- 
a/regression-test/suites/query_p0/sql_functions/json_function/test_query_json_object.groovy
+++ 
b/regression-test/suites/query_p0/sql_functions/json_function/test_query_json_object.groovy
@@ -45,5 +45,7 @@ suite("test_query_json_object", "query") {
         sql """select k0,json_object(k3,123) from ${tableName} order by k0;"""
         exception "function json_object can not input null value , JSON 
documents may not contain NULL member names."
     }
+
+    qt_sql2 """select json_object ( CONCAT('k',t.number%30926%3000 + 
0),CONCAT('k',t.number%30926%3000 + 0,t.number%1000000) ) from numbers("number" 
= "2") t order by 1;"""
     sql "DROP TABLE ${tableName};"
 }


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

Reply via email to