提交 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 ...@@ -52,7 +52,8 @@ void ObQueryRetryCtrl::test_and_save_retry_state(const ObGlobalContext& gctx, co
ObSQLSessionInfo* session = result.get_exec_context().get_my_session(); ObSQLSessionInfo* session = result.get_exec_context().get_my_session();
bool expected_stmt = (ObStmt::is_dml_stmt(result.get_stmt_type()) || 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_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_; const ObMultiStmtItem& multi_stmt_item = ctx.multi_stmt_item_;
if (OB_ISNULL(session)) { if (OB_ISNULL(session)) {
client_ret = err; // OOM client_ret = err; // OOM
......
...@@ -368,9 +368,10 @@ int ObInnerSQLConnection::process_retry( ...@@ -368,9 +368,10 @@ int ObInnerSQLConnection::process_retry(
(OB_NOT_MASTER == last_ret || OB_PARTITION_NOT_EXIST == last_ret); (OB_NOT_MASTER == last_ret || OB_PARTITION_NOT_EXIST == last_ret);
ObQueryRetryInfo& retry_info = inner_session_.get_retry_info_for_update(); ObQueryRetryInfo& retry_info = inner_session_.get_retry_info_for_update();
const bool non_blocking_refresh = false; const bool non_blocking_refresh = false;
bool repeatable_stmt = (ObStmt::is_dml_stmt(result_set.get_stmt_type()) || bool repeatable_stmt =
ObStmt::is_ddl_stmt(result_set.get_stmt_type(), result_set.has_global_variable()) || (ObStmt::is_dml_stmt(result_set.get_stmt_type()) ||
ObStmt::is_dcl_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(); int64_t now = ObTimeUtility::current_time();
if (now >= abs_timeout_us) { if (now >= abs_timeout_us) {
ret = OB_TIMEOUT; ret = OB_TIMEOUT;
......
...@@ -222,6 +222,11 @@ public: ...@@ -222,6 +222,11 @@ public:
stmt_type == stmt::T_EXPLAIN || is_show_stmt(stmt_type)); 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) 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); 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.
先完成此消息的编辑!
想要评论请 注册