diff --git a/fe/src/main/cup/sql_parser.cup b/fe/src/main/cup/sql_parser.cup index 0f6740d39ae169..5c66fe3f6cab7b 100644 --- a/fe/src/main/cup/sql_parser.cup +++ b/fe/src/main/cup/sql_parser.cup @@ -4369,6 +4369,8 @@ keyword ::= {: RESULT = id; :} | KW_FORMAT:id {: RESULT = id; :} + | KW_HLL_UNION:id + {: RESULT = id; :} | KW_PATH:id {: RESULT = id; :} | KW_FUNCTION:id diff --git a/fe/src/main/java/org/apache/doris/catalog/FunctionSet.java b/fe/src/main/java/org/apache/doris/catalog/FunctionSet.java index 256a461921f354..4f9a0c75da7468 100644 --- a/fe/src/main/java/org/apache/doris/catalog/FunctionSet.java +++ b/fe/src/main/java/org/apache/doris/catalog/FunctionSet.java @@ -1026,7 +1026,17 @@ private void initAggregateBuiltins() { "_ZN5doris12HllFunctions12hll_finalizeEPN9doris_udf15FunctionContextERKNS1_9StringValE", true, true, true)); - // HLL_RAW_AGG + // HLL_UNION + addBuiltin(AggregateFunction.createBuiltin("hll_union", + Lists.newArrayList(t), Type.HLL, Type.HLL, + "_ZN5doris12HllFunctions8hll_initEPN9doris_udf15FunctionContextEPNS1_9StringValE", + "_ZN5doris12HllFunctions9hll_mergeEPN9doris_udf15FunctionContextERKNS1_9StringValEPS4_", + "_ZN5doris12HllFunctions9hll_mergeEPN9doris_udf15FunctionContextERKNS1_9StringValEPS4_", + "_ZN5doris12HllFunctions13hll_serializeEPN9doris_udf15FunctionContextERKNS1_9StringValE", + "_ZN5doris12HllFunctions13hll_serializeEPN9doris_udf15FunctionContextERKNS1_9StringValE", + true, false, true)); + + // HLL_RAW_AGG is alias of HLL_UNION addBuiltin(AggregateFunction.createBuiltin("hll_raw_agg", Lists.newArrayList(t), Type.HLL, Type.HLL, "_ZN5doris12HllFunctions8hll_initEPN9doris_udf15FunctionContextEPNS1_9StringValE", diff --git a/gensrc/script/doris_builtins_functions.py b/gensrc/script/doris_builtins_functions.py index 9516371f834988..d9e1f6edb8aa93 100755 --- a/gensrc/script/doris_builtins_functions.py +++ b/gensrc/script/doris_builtins_functions.py @@ -630,9 +630,9 @@ #hll function [['hll_cardinality'], 'BIGINT', ['VARCHAR'], '_ZN5doris12HllFunctions15hll_cardinalityEPN9doris_udf15FunctionContextERKNS1_9StringValE'], - [['hll_hash'], 'VARCHAR', ['VARCHAR'], + [['hll_hash'], 'HLL', ['VARCHAR'], '_ZN5doris12HllFunctions8hll_hashEPN9doris_udf15FunctionContextERKNS1_9StringValE'], - [['hll_empty'], 'VARCHAR', [], + [['hll_empty'], 'HLL', [], '_ZN5doris12HllFunctions9hll_emptyEPN9doris_udf15FunctionContextE'], #bitmap function