Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lihongda1002
oceanbase
提交
1da9b531
O
oceanbase
项目概览
lihongda1002
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1da9b531
编写于
5月 05, 2022
作者:
O
obdev
提交者:
wangzelin.wzl
5月 05, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CP] Fix ps execute location leader not exist not retry
上级
e2a21af4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
4 deletion
+11
-4
src/observer/mysql/ob_query_retry_ctrl.cpp
src/observer/mysql/ob_query_retry_ctrl.cpp
+2
-1
src/observer/ob_inner_sql_connection.cpp
src/observer/ob_inner_sql_connection.cpp
+4
-3
src/sql/resolver/ob_stmt.h
src/sql/resolver/ob_stmt.h
+5
-0
未找到文件。
src/observer/mysql/ob_query_retry_ctrl.cpp
浏览文件 @
1da9b531
...
@@ -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
...
...
src/observer/ob_inner_sql_connection.cpp
浏览文件 @
1da9b531
...
@@ -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
;
...
...
src/sql/resolver/ob_stmt.h
浏览文件 @
1da9b531
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录