提交 1da9b531 编写于 作者: O obdev 提交者: wangzelin.wzl

[CP] Fix ps execute location leader not exist not retry

上级 e2a21af4
......@@ -52,7 +52,8 @@ void ObQueryRetryCtrl::test_and_save_retry_state(const ObGlobalContext& gctx, co
ObSQLSessionInfo* session = result.get_exec_context().get_my_session();
bool expected_stmt = (ObStmt::is_dml_stmt(result.get_stmt_type()) ||
ObStmt::is_ddl_stmt(result.get_stmt_type(), result.has_global_variable()) ||
ObStmt::is_dcl_stmt(result.get_stmt_type()));
ObStmt::is_dcl_stmt(result.get_stmt_type()) ||
ObStmt::is_execute_stmt(result.get_stmt_type()));
const ObMultiStmtItem& multi_stmt_item = ctx.multi_stmt_item_;
if (OB_ISNULL(session)) {
client_ret = err; // OOM
......
......@@ -368,9 +368,10 @@ int ObInnerSQLConnection::process_retry(
(OB_NOT_MASTER == last_ret || OB_PARTITION_NOT_EXIST == last_ret);
ObQueryRetryInfo& retry_info = inner_session_.get_retry_info_for_update();
const bool non_blocking_refresh = false;
bool repeatable_stmt = (ObStmt::is_dml_stmt(result_set.get_stmt_type()) ||
ObStmt::is_ddl_stmt(result_set.get_stmt_type(), result_set.has_global_variable()) ||
ObStmt::is_dcl_stmt(result_set.get_stmt_type()));
bool repeatable_stmt =
(ObStmt::is_dml_stmt(result_set.get_stmt_type()) ||
ObStmt::is_ddl_stmt(result_set.get_stmt_type(), result_set.has_global_variable()) ||
ObStmt::is_dcl_stmt(result_set.get_stmt_type()) || ObStmt::is_execute_stmt(result_set.get_stmt_type()));
int64_t now = ObTimeUtility::current_time();
if (now >= abs_timeout_us) {
ret = OB_TIMEOUT;
......
......@@ -222,6 +222,11 @@ public:
stmt_type == stmt::T_EXPLAIN || is_show_stmt(stmt_type));
}
static inline bool is_execute_stmt(stmt::StmtType stmt_type)
{
return stmt_type == stmt::T_EXECUTE;
}
static inline bool is_pdml_supported_stmt(stmt::StmtType stmt_type)
{
return (stmt_type == stmt::T_INSERT || stmt_type == stmt::T_DELETE || stmt_type == stmt::T_UPDATE);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册