From c9ff439e5cffd8ec18821cef12082f07d13c2148 Mon Sep 17 00:00:00 2001 From: seuwebber Date: Tue, 26 Sep 2023 02:40:01 +0000 Subject: [PATCH] [CP] [to #52087818]fix PL dblink bug --- src/pl/ob_pl_resolver.cpp | 10 +++++++--- src/sql/engine/expr/ob_expr_multiset.cpp | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pl/ob_pl_resolver.cpp b/src/pl/ob_pl_resolver.cpp index 158f8a343..263c34e97 100644 --- a/src/pl/ob_pl_resolver.cpp +++ b/src/pl/ob_pl_resolver.cpp @@ -11433,10 +11433,14 @@ int ObPLResolver::resolve_qualified_name(ObQualifiedName &q_name, int ret = OB_SUCCESS; SET_LOG_CHECK_MODE(); - + if (!q_name.dblink_name_.empty()) { + ret = OB_NOT_SUPPORTED; + LOG_WARN("dblink sequence and udf not support in PL", K(ret), K(q_name)); + LOG_USER_ERROR(OB_NOT_SUPPORTED, "dblink sequence and udf in PL"); + } OZ (replace_udf_param_expr(q_name, columns, real_exprs)); - - if (q_name.is_sys_func()) { + if (OB_FAIL(ret)) { + } else if (q_name.is_sys_func()) { if (OB_FAIL(q_name.access_idents_.at(0).sys_func_expr_->check_param_num())) { LOG_WARN("sys func param number not match", K(ret)); } else { diff --git a/src/sql/engine/expr/ob_expr_multiset.cpp b/src/sql/engine/expr/ob_expr_multiset.cpp index 62e948b23..20ebbe1cd 100644 --- a/src/sql/engine/expr/ob_expr_multiset.cpp +++ b/src/sql/engine/expr/ob_expr_multiset.cpp @@ -580,7 +580,7 @@ int ObExprMultiSet::eval_multiset(const ObExpr &expr, ObEvalCtx &ctx, ObDatum &r coll->set_type(c1->get_type()); coll->set_id(c1->get_id()); coll->set_is_null(c1->is_null()); - coll->set_element_type(c1->get_element_type()); + coll->set_element_desc(c1->get_element_desc()); coll->set_column_count(c1->get_column_count()); coll->set_not_null(c1->is_not_null()); coll->set_count(elem_count);