You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/10/28 02:46:22 UTC

[doris] branch branch-1.1-lts updated: [bugfix](ifnull) type cast error of function ifnull (#13747)

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

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


The following commit(s) were added to refs/heads/branch-1.1-lts by this push:
     new 9a9c43d04f [bugfix](ifnull) type cast error of function ifnull (#13747)
9a9c43d04f is described below

commit 9a9c43d04f9514e14d6d3d691d256842c8bdf534
Author: TengJianPing <18...@users.noreply.github.com>
AuthorDate: Fri Oct 28 10:46:16 2022 +0800

    [bugfix](ifnull) type cast error of function ifnull (#13747)
---
 be/src/vec/functions/function_ifnull.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/be/src/vec/functions/function_ifnull.h b/be/src/vec/functions/function_ifnull.h
index 1a83785c48..72a8ab29aa 100644
--- a/be/src/vec/functions/function_ifnull.h
+++ b/be/src/vec/functions/function_ifnull.h
@@ -62,7 +62,7 @@ public:
     // ifnull(col_left, col_right) == if(isnull(col_left), col_right, col_left)
     Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
                         size_t result, size_t input_rows_count) override {
-        const ColumnWithTypeAndName& col_left = block.get_by_position(arguments[0]);
+        ColumnWithTypeAndName& col_left = block.get_by_position(arguments[0]);
         if (col_left.column->only_null()) {
             block.get_by_position(result).column = block.get_by_position(arguments[1]).column;
             return Status::OK();
@@ -71,6 +71,7 @@ public:
         ColumnWithTypeAndName null_column_arg0 {nullptr, std::make_shared<DataTypeUInt8>(), ""};
         ColumnWithTypeAndName nested_column_arg0 {nullptr, col_left.type, ""};
 
+        col_left.column = col_left.column->convert_to_full_column_if_const();
         /// implement isnull(col_left) logic
         if (auto* nullable = check_and_get_column<ColumnNullable>(*col_left.column)) {
             null_column_arg0.column = nullable->get_null_map_column_ptr();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org