[CP] [to #53346341] dbms cursor need destruct spi_cursor in the end of function
This commit is contained in:
parent
11b39c0ba5
commit
837ceaf633
@ -4005,15 +4005,16 @@ int ObSPIService::dbms_cursor_open(ObPLExecCtx *ctx,
|
|||||||
session_info->get_raw_audit_record().exec_record_ = record_bk;
|
session_info->get_raw_audit_record().exec_record_ = record_bk;
|
||||||
session_info->get_raw_audit_record().try_cnt_ = retry_cnt;
|
session_info->get_raw_audit_record().try_cnt_ = retry_cnt;
|
||||||
}
|
}
|
||||||
if (OB_SUCCESS != ret && OB_NOT_NULL(spi_cursor)) {
|
|
||||||
spi_cursor->~ObSPICursor();
|
|
||||||
LOG_WARN("fill cursor failed.", K(ret), K(cursor.get_id()), K(sql_stmt), K(ps_sql), K(session->get_sessid()));
|
|
||||||
}
|
|
||||||
int close_ret = spi_result.close_result_set();
|
int close_ret = spi_result.close_result_set();
|
||||||
if (OB_SUCCESS != close_ret) {
|
if (OB_SUCCESS != close_ret) {
|
||||||
LOG_WARN("close mysql result failed", K(ret), K(close_ret));
|
LOG_WARN("close mysql result failed", K(ret), K(close_ret));
|
||||||
}
|
}
|
||||||
ret = OB_SUCCESS == ret ? close_ret : ret;
|
ret = OB_SUCCESS == ret ? close_ret : ret;
|
||||||
|
if (OB_SUCCESS != ret && OB_NOT_NULL(spi_cursor)) {
|
||||||
|
spi_cursor->~ObSPICursor();
|
||||||
|
LOG_WARN("fill cursor failed.", K(ret), K(cursor.get_id()), K(sql_stmt), K(ps_sql), K(session->get_sessid()));
|
||||||
|
}
|
||||||
|
|
||||||
retry_cnt++;
|
retry_cnt++;
|
||||||
} while (!cursor.is_ps_cursor() && RETRY_TYPE_NONE != retry_ctrl.get_retry_type());
|
} while (!cursor.is_ps_cursor() && RETRY_TYPE_NONE != retry_ctrl.get_retry_type());
|
||||||
session->set_query_start_time(old_query_start_time);
|
session->set_query_start_time(old_query_start_time);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user