From 3aeec935dacf9afd1f57696671dea1ebe92e0c7c Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 22 May 2023 09:47:34 +0000 Subject: [PATCH] [xml bugfix] xmlattributes print value bugfix --- src/sql/resolver/expr/ob_raw_expr_printer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sql/resolver/expr/ob_raw_expr_printer.cpp b/src/sql/resolver/expr/ob_raw_expr_printer.cpp index 9c5258ee09..64a1178576 100644 --- a/src/sql/resolver/expr/ob_raw_expr_printer.cpp +++ b/src/sql/resolver/expr/ob_raw_expr_printer.cpp @@ -4621,7 +4621,10 @@ int ObRawExprPrinter::print_xml_attributes_expr(ObSysFunRawExpr *expr) } PRINT_EXPR(expr->get_param_expr(i)); ObObj attr_key_obj = static_cast(expr->get_param_expr(i + 1))->get_value(); - if (attr_key_obj.get_type() == ObObjType::ObUnknownType) { + ObItemType expr_type = expr->get_param_expr(i + 1)->get_expr_type(); + if (expr_type == T_REF_COLUMN || + expr_type == T_FUN_SYS_CAST || + attr_key_obj.get_type() == ObObjType::ObUnknownType) { DATA_PRINTF(" as evalname "); PRINT_EXPR(expr->get_param_expr(i + 1)); } else if (!attr_key_obj.get_string().empty()) {