From 0998ca5cbc230f07500783174cc81e4b59f4bcda Mon Sep 17 00:00:00 2001 From: obdev Date: Fri, 2 Sep 2022 09:34:00 +0000 Subject: [PATCH] [CP] Fix enumset type mismatch in window function expr --- src/sql/resolver/expr/ob_raw_expr_wrap_enum_set.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/sql/resolver/expr/ob_raw_expr_wrap_enum_set.cpp b/src/sql/resolver/expr/ob_raw_expr_wrap_enum_set.cpp index 8a9fa2b997..f69621c64f 100644 --- a/src/sql/resolver/expr/ob_raw_expr_wrap_enum_set.cpp +++ b/src/sql/resolver/expr/ob_raw_expr_wrap_enum_set.cpp @@ -243,8 +243,15 @@ int ObRawExprWrapEnumSet::visit(ObColumnRefRawExpr& expr) int ObRawExprWrapEnumSet::visit(ObWinFunRawExpr& expr) { - UNUSED(expr); - return OB_SUCCESS; + int ret = OB_SUCCESS; + if (expr.has_enum_set_column()) { + ObAggFunRawExpr *agg_raw_expr = expr.get_agg_expr(); + if (OB_ISNULL(agg_raw_expr)) { + } else if (OB_FAIL(ObRawExprWrapEnumSet::visit(*agg_raw_expr))) { + LOG_WARN("fail to visit agg expr in window function", K(ret), K(agg_raw_expr)); + } + } + return ret; } int ObRawExprWrapEnumSet::visit(ObPseudoColumnRawExpr& expr)