to issue<45097471>:fail rollback dml in udf issue
This commit is contained in:
@ -470,12 +470,7 @@ int ObPLContext::init(ObSQLSessionInfo &session_info,
|
|||||||
|
|
||||||
OX (is_autonomous_ = is_autonomous);
|
OX (is_autonomous_ = is_autonomous);
|
||||||
OX (is_function_or_trigger_ = is_function_or_trigger);
|
OX (is_function_or_trigger_ = is_function_or_trigger);
|
||||||
if (is_function_or_trigger && lib::is_mysql_mode()) {
|
|
||||||
last_insert_id_ = session_info.get_local_last_insert_id();
|
|
||||||
const ObString stash_savepoint_name("PL stash savepoint");
|
|
||||||
OZ (ObSqlTransControl::create_stash_savepoint(ctx, stash_savepoint_name));
|
|
||||||
OX (has_stash_savepoint_ = true);
|
|
||||||
}
|
|
||||||
OZ (session_info.get_pl_block_timeout(pl_block_timeout));
|
OZ (session_info.get_pl_block_timeout(pl_block_timeout));
|
||||||
if (OB_SUCC(ret) && pl_block_timeout > OB_MAX_USER_SPECIFIED_TIMEOUT) {
|
if (OB_SUCC(ret) && pl_block_timeout > OB_MAX_USER_SPECIFIED_TIMEOUT) {
|
||||||
pl_block_timeout = OB_MAX_USER_SPECIFIED_TIMEOUT;
|
pl_block_timeout = OB_MAX_USER_SPECIFIED_TIMEOUT;
|
||||||
@ -568,6 +563,13 @@ int ObPLContext::init(ObSQLSessionInfo &session_info,
|
|||||||
OX (session_info.set_autocommit(false));
|
OX (session_info.set_autocommit(false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_function_or_trigger && lib::is_mysql_mode()) {
|
||||||
|
last_insert_id_ = session_info.get_local_last_insert_id();
|
||||||
|
const ObString stash_savepoint_name("PL stash savepoint");
|
||||||
|
OZ (ObSqlTransControl::create_stash_savepoint(ctx, stash_savepoint_name));
|
||||||
|
OX (has_stash_savepoint_ = true);
|
||||||
|
}
|
||||||
if (is_autonomous_) {
|
if (is_autonomous_) {
|
||||||
has_inner_dml_write_ = session_info.has_exec_inner_dml();
|
has_inner_dml_write_ = session_info.has_exec_inner_dml();
|
||||||
session_info.set_has_exec_inner_dml(false);
|
session_info.set_has_exec_inner_dml(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user