[CP] [to #50196630]fix bug select for update in PL dyamic sql

This commit is contained in:
seuwebber
2023-06-27 12:42:16 +00:00
committed by ob-robot
parent e218b74dc6
commit f9577beca0
2 changed files with 6 additions and 1 deletions

View File

@ -2644,10 +2644,14 @@ int ObSPIService::spi_execute_immediate(ObPLExecCtx *ctx,
OX (retry_ctrl.set_sys_local_schema_version(sys_version));
OX (spi_result.get_sql_ctx().schema_guard_ = &spi_result.get_scheme_guard());
bool old_client_return_rowid = session->is_client_return_rowid();
bool is_inner_session = session->is_inner();
ObSQLSessionInfo::SessionType old_session_type = session->get_session_type();
!is_inner_session ? session->set_inner_session() : (void)NULL;
session->set_session_type(ObSQLSessionInfo::USER_SESSION);
if (NULL != ctx->pl_ctx_) {
session->set_client_return_rowid(false);
}
if (OB_SUCC(ret)) {
WITH_CONTEXT(spi_result.get_memory_ctx()) {
if (OB_FAIL(ret)) {
@ -2696,6 +2700,7 @@ int ObSPIService::spi_execute_immediate(ObPLExecCtx *ctx,
// todo:@hr351303 确认session标记是否还需要
!is_inner_session ? session->set_user_session() : (void)NULL;
session->set_session_type(old_session_type);
session->set_client_return_rowid(old_client_return_rowid);
LOG_TRACE("execute dynamic sql", K(ret), K(sql), K(sql_str), K(ps_sql));
int64_t row_count = 0;