[CP] Fix ps execute location leader not exist not retry
This commit is contained in:
@ -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(
|
|||||||
(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:
|
|||||||
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user