diff --git a/src/pl/ob_pl_resolver.cpp b/src/pl/ob_pl_resolver.cpp index afcded1a0..c5b720629 100644 --- a/src/pl/ob_pl_resolver.cpp +++ b/src/pl/ob_pl_resolver.cpp @@ -13951,8 +13951,7 @@ int ObPLResolver::resolve_sys_func_access(ObObjAccessIdent &access_ident, } if (OB_FAIL(ret)) { } else if (!access_ident.sys_func_expr_->get_result_type().is_xml_sql_type() - && !(access_ident.sys_func_expr_->get_result_type().is_ext() - && access_ident.sys_func_expr_->get_result_type().get_udt_id() == T_OBJ_XML)) { + && !(access_ident.sys_func_expr_->get_result_type().is_ext())) { ret = OB_ERR_NOT_OBJ_REF; LOG_WARN("unsupported sys func ident", K(ret), K(access_ident), K(access_ident.sys_func_expr_->get_result_type()), diff --git a/src/sql/resolver/dml/ob_dml_resolver.cpp b/src/sql/resolver/dml/ob_dml_resolver.cpp index 9cbfc536e..37be0c3ca 100755 --- a/src/sql/resolver/dml/ob_dml_resolver.cpp +++ b/src/sql/resolver/dml/ob_dml_resolver.cpp @@ -1407,7 +1407,7 @@ int ObDMLResolver::check_column_udt_type(ParseNode *root_node) if (OB_ISNULL(col_expr)) { ret = OB_ERR_BAD_FIELD_ERROR; LOG_WARN("get invalid identifier name", K(ret), K(tab_str), K(col_str), K(tab_has_alias)); - } else if (!col_expr->get_result_type().is_user_defined_sql_type()) { + } else if (!col_expr->get_result_type().is_user_defined_sql_type() && !col_expr->get_result_type().is_ext()) { ret = OB_ERR_NOT_OBJ_REF; } }