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/11/25 14:29:57 UTC
[doris] branch master updated: [improvement](function)add size function alias array_size (#14594)
This is an automated email from the ASF dual-hosted git repository.
yiguolei 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 7ae7830c50 [improvement](function)add size function alias array_size (#14594)
7ae7830c50 is described below
commit 7ae7830c508748bcb2c5f2189e8b56d4f2a8794d
Author: zy-kkk <zh...@qq.com>
AuthorDate: Fri Nov 25 22:29:48 2022 +0800
[improvement](function)add size function alias array_size (#14594)
* add size function alias
* fix
---
be/src/vec/functions/array/function_array_size.cpp | 1 +
be/test/vec/function/function_array_size_test.cpp | 29 ++++++++++++++++++++++
gensrc/script/doris_builtins_functions.py | 2 +-
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/be/src/vec/functions/array/function_array_size.cpp b/be/src/vec/functions/array/function_array_size.cpp
index 4b66570ad6..3c1fc42025 100644
--- a/be/src/vec/functions/array/function_array_size.cpp
+++ b/be/src/vec/functions/array/function_array_size.cpp
@@ -24,6 +24,7 @@ namespace doris::vectorized {
void register_function_array_size(SimpleFunctionFactory& factory) {
factory.register_function<FunctionArraySize>();
factory.register_alias(FunctionArraySize::name, "cardinality");
+ factory.register_alias(FunctionArraySize::name, "array_size");
}
} // namespace doris::vectorized
diff --git a/be/test/vec/function/function_array_size_test.cpp b/be/test/vec/function/function_array_size_test.cpp
index 3db14a28c1..71a3ad5530 100644
--- a/be/test/vec/function/function_array_size_test.cpp
+++ b/be/test/vec/function/function_array_size_test.cpp
@@ -85,4 +85,33 @@ TEST(function_array_size_test, cardinality) {
}
}
+TEST(function_array_size_test, array_size) {
+ std::string func_name = "array_size";
+ Array empty_arr;
+
+ // array_size(Array<Int32>)
+ {
+ InputTypeSet input_types = {TypeIndex::Array, TypeIndex::Int32};
+
+ Array vec = {Int32(1), Int32(2), Int32(3)};
+ DataSet data_set = {{{vec}, Int64(3)}, {{Null()}, Null()}, {{empty_arr}, Int64(0)}};
+
+ check_function<DataTypeInt64, true>(func_name, input_types, data_set);
+ }
+
+ // array_size(Array<String>)
+ {
+ InputTypeSet input_types = {TypeIndex::Array, TypeIndex::String};
+
+ Array vec1 = {Field("abc", 3), Field("", 0), Field("def", 3)};
+ Array vec2 = {Field("abc", 3), Field("123", 0), Field("def", 3)};
+ DataSet data_set = {{{vec1}, Int64(3)},
+ {{vec2}, Int64(3)},
+ {{Null()}, Null()},
+ {{empty_arr}, Int64(0)}};
+
+ check_function<DataTypeInt64, true>(func_name, input_types, data_set);
+ }
+}
+
} // namespace doris::vectorized
diff --git a/gensrc/script/doris_builtins_functions.py b/gensrc/script/doris_builtins_functions.py
index 25be32c7ee..e347323496 100755
--- a/gensrc/script/doris_builtins_functions.py
+++ b/gensrc/script/doris_builtins_functions.py
@@ -223,7 +223,7 @@ visible_functions = [
[['array_position'], 'BIGINT', ['ARRAY_VARCHAR', 'VARCHAR'], '', '', '', 'vec', 'ALWAYS_NULLABLE'],
[['array_position'], 'BIGINT', ['ARRAY_STRING', 'STRING'], '', '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['cardinality', 'size'], 'BIGINT', ['ARRAY'], '', '', '', 'vec', ''],
+ [['cardinality', 'size', 'array_size'], 'BIGINT', ['ARRAY'], '', '', '', 'vec', ''],
[['array_distinct'], 'ARRAY_BOOLEAN', ['ARRAY_BOOLEAN'], '', '', '', 'vec', ''],
[['array_distinct'], 'ARRAY_TINYINT', ['ARRAY_TINYINT'], '', '', '', 'vec', ''],
[['array_distinct'], 'ARRAY_SMALLINT', ['ARRAY_SMALLINT'], '', '', '', 'vec', ''],
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org