From 08ebcd52816cb6f041acb79ad92cdb2b378652e3 Mon Sep 17 00:00:00 2001 From: Rong Ma Date: Wed, 14 Jan 2026 15:32:16 +0000 Subject: [PATCH 1/2] add missing scenario for unsupported agg --- ...elox-backend-aggregate-function-support.md | 8 +++---- tools/scripts/gen-function-support-docs.py | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/docs/velox-backend-aggregate-function-support.md b/docs/velox-backend-aggregate-function-support.md index ee6fa131cddf..7c518530b191 100644 --- a/docs/velox-backend-aggregate-function-support.md +++ b/docs/velox-backend-aggregate-function-support.md @@ -1,6 +1,6 @@ # Aggregate Functions Support Status -**Out of 62 aggregate functions in Spark 3.5, Gluten currently fully supports 54 functions and partially supports 1 function.** +**Out of 62 aggregate functions in Spark 3.5, Gluten currently fully supports 52 functions and partially supports 1 function.** ## Aggregate Functions @@ -9,7 +9,7 @@ | any | BoolOr | S | | | any_value | AnyValue | S | | | approx_count_distinct | HyperLogLogPlusPlus | S | | -| approx_percentile | ApproximatePercentile | S | | +| approx_percentile | ApproximatePercentile | | | | array_agg | CollectList | S | | | avg | Average | S | | | bit_and | BitAndAgg | S | | @@ -45,8 +45,8 @@ | min | Min | S | | | min_by | MinBy | S | | | mode | Mode | | | -| percentile | Percentile | S | | -| percentile_approx | ApproximatePercentile | S | | +| percentile | Percentile | | | +| percentile_approx | ApproximatePercentile | | | | regr_avgx | RegrAvgX | S | | | regr_avgy | RegrAvgY | S | | | regr_count | RegrCount | S | | diff --git a/tools/scripts/gen-function-support-docs.py b/tools/scripts/gen-function-support-docs.py index 4ba59b067eb2..b42f3c7c4b15 100644 --- a/tools/scripts/gen-function-support-docs.py +++ b/tools/scripts/gen-function-support-docs.py @@ -1029,6 +1029,27 @@ def function_not_found(r): else: function_not_found(r) + + elif "was not supported in AggregateRel" in r: + pattern = r"([\w0-9]+) was not supported in AggregateRel" + + # Extract the function name + match = re.search(pattern, r) + + if match: + function_name = match.group(1) + if function_name in function_names: + support_list["aggregate"]["unsupported"].add( + function_name_tuple(function_name) + ) + else: + support_list["aggregate"]["unknown"].add( + function_name_tuple(function_name) + ) + else: + function_not_found(r) + + elif "Unsupported aggregate mode" in r: pattern = r"Unsupported aggregate mode: [\w]+ for ([\w0-9]+)" From 350dcf582e900d402c1afb3d967edcc2b232a590 Mon Sep 17 00:00:00 2001 From: Rong Ma Date: Wed, 14 Jan 2026 15:37:25 +0000 Subject: [PATCH 2/2] fix style --- tools/scripts/gen-function-support-docs.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/scripts/gen-function-support-docs.py b/tools/scripts/gen-function-support-docs.py index b42f3c7c4b15..314ab7ea0e53 100644 --- a/tools/scripts/gen-function-support-docs.py +++ b/tools/scripts/gen-function-support-docs.py @@ -1029,7 +1029,6 @@ def function_not_found(r): else: function_not_found(r) - elif "was not supported in AggregateRel" in r: pattern = r"([\w0-9]+) was not supported in AggregateRel" @@ -1049,7 +1048,6 @@ def function_not_found(r): else: function_not_found(r) - elif "Unsupported aggregate mode" in r: pattern = r"Unsupported aggregate mode: [\w]+ for ([\w0-9]+)"