This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
commit 6746b360a247b7d5165c4c6592dd20a5ea592325 Author: zhangstar333 <[email protected]> AuthorDate: Fri Feb 3 10:32:42 2023 +0800 [bug](function) fix mask_first_n function can't handle const value (#16308) --- be/src/vec/functions/function_string.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/be/src/vec/functions/function_string.h b/be/src/vec/functions/function_string.h index b37670808e..eae5da53b3 100644 --- a/be/src/vec/functions/function_string.h +++ b/be/src/vec/functions/function_string.h @@ -419,8 +419,8 @@ public: int n = -1; auto res = ColumnString::create(); - const ColumnString& source_column = - assert_cast<const ColumnString&>(*block.get_by_position(arguments[0]).column); + auto col = block.get_by_position(arguments[0]).column->convert_to_full_column_if_const(); + const ColumnString& source_column = assert_cast<const ColumnString&>(*col); if (arguments.size() == 2) { auto& col = *block.get_by_position(arguments[1]).column; @@ -434,7 +434,7 @@ public: FunctionMask::vector_mask(source_column, *res, FunctionMask::DEFAULT_UPPER_MASK, FunctionMask::DEFAULT_LOWER_MASK, FunctionMask::DEFAULT_NUMBER_MASK); - } else if (n > 0) { + } else if (n >= 0) { vector(source_column, n, *res); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
