Fix some prepared statement bug
This commit is contained in:
@ -851,7 +851,9 @@ void ObReferenceObjTable::reset()
|
|||||||
}
|
}
|
||||||
return ret;
|
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));
|
OB_LOG(WARN, "traversal ref obj version map failed", K(ret));
|
||||||
}
|
}
|
||||||
inited_ = false;
|
inited_ = false;
|
||||||
|
|||||||
@ -1027,6 +1027,8 @@ int ObSql::do_real_prepare(const ObString &sql,
|
|||||||
LOG_WARN("generate stmt failed", K(ret));
|
LOG_WARN("generate stmt failed", K(ret));
|
||||||
} else if (!is_from_pl
|
} else if (!is_from_pl
|
||||||
&& !is_inner_sql
|
&& !is_inner_sql
|
||||||
|
&& !(ObStmt::is_dml_write_stmt(stmt_type) && // returning into from oci not supported
|
||||||
|
static_cast<ObDelUpdStmt*>(basic_stmt)->get_returning_into_exprs().count() > 0)
|
||||||
&& enable_udr
|
&& enable_udr
|
||||||
&& OB_FAIL(ObUDRUtils::match_udr_item(sql, session, allocator, item_guard))) {
|
&& OB_FAIL(ObUDRUtils::match_udr_item(sql, session, allocator, item_guard))) {
|
||||||
if (!ObSQLUtils::check_need_disconnect_parser_err(ret)) {
|
if (!ObSQLUtils::check_need_disconnect_parser_err(ret)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user