From 66be07d08d5df49582ca91ac1810294e52fe62d0 Mon Sep 17 00:00:00 2001 From: obdev Date: Wed, 28 Jun 2023 09:53:42 +0000 Subject: [PATCH] Fix some prepared statement bug --- src/share/schema/ob_dependency_info.cpp | 4 +++- src/sql/ob_sql.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/share/schema/ob_dependency_info.cpp b/src/share/schema/ob_dependency_info.cpp index 0e31a9334d..126c7191b6 100644 --- a/src/share/schema/ob_dependency_info.cpp +++ b/src/share/schema/ob_dependency_info.cpp @@ -851,7 +851,9 @@ void ObReferenceObjTable::reset() } return ret; }; - if (OB_FAIL(ref_obj_version_table_.foreach_refactored(free_func))) { + if (!ref_obj_version_table_.created()) { + // do nothing + } else if (OB_FAIL(ref_obj_version_table_.foreach_refactored(free_func))) { OB_LOG(WARN, "traversal ref obj version map failed", K(ret)); } inited_ = false; diff --git a/src/sql/ob_sql.cpp b/src/sql/ob_sql.cpp index bcee5ae684..c1dce3de6d 100644 --- a/src/sql/ob_sql.cpp +++ b/src/sql/ob_sql.cpp @@ -1027,6 +1027,8 @@ int ObSql::do_real_prepare(const ObString &sql, LOG_WARN("generate stmt failed", K(ret)); } else if (!is_from_pl && !is_inner_sql + && !(ObStmt::is_dml_write_stmt(stmt_type) && // returning into from oci not supported + static_cast(basic_stmt)->get_returning_into_exprs().count() > 0) && enable_udr && OB_FAIL(ObUDRUtils::match_udr_item(sql, session, allocator, item_guard))) { if (!ObSQLUtils::check_need_disconnect_parser_err(ret)) {