diff --git a/src/pl/dblink/ob_pl_dblink_guard.cpp b/src/pl/dblink/ob_pl_dblink_guard.cpp index 67423a771..931cb709b 100644 --- a/src/pl/dblink/ob_pl_dblink_guard.cpp +++ b/src/pl/dblink/ob_pl_dblink_guard.cpp @@ -419,6 +419,16 @@ int ObPLDbLinkGuard::dblink_name_resolve(common::ObDbLinkProxy *dblink_proxy, } #undef BIND_BASIC_BY_POS } + if (NULL != dblink_schema + && NULL != dblink_proxy + && NULL != dblink_conn + && DblinkDriverProto::DBLINK_DRV_OCI == static_cast(dblink_schema->get_driver_proto())) { + int tmp_ret = OB_SUCCESS; + if (OB_SUCCESS != (tmp_ret = static_cast(dblink_conn)->free_oci_stmt())) { + LOG_WARN("failed to close oci result", K(tmp_ret)); + ret = (OB_SUCC(ret) ? tmp_ret : ret); + } + } #endif return ret; }