Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
野花太放肆
oceanbase
提交
dd3b5c62
O
oceanbase
项目概览
野花太放肆
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dd3b5c62
编写于
3月 23, 2023
作者:
T
tino247
提交者:
ob-robot
3月 23, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix unstable list partition order problem
上级
57f09e15
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
5 deletion
+19
-5
src/share/schema/ob_schema_retrieve_utils.ipp
src/share/schema/ob_schema_retrieve_utils.ipp
+19
-5
未找到文件。
src/share/schema/ob_schema_retrieve_utils.ipp
浏览文件 @
dd3b5c62
...
...
@@ -4220,10 +4220,10 @@ int ObSchemaRetrieveUtils::fill_base_part_info(
EXTRACT_INT_FIELD_TO_CLASS_MYSQL(result, part_id, partition, int64_t);
}
if (check_deleted) {
if (
OB_SUCC(ret) &&
check_deleted) {
EXTRACT_INT_FIELD_MYSQL(result, "is_deleted", is_deleted, bool);
}
if (!is_deleted) {
if (
OB_SUCC(ret) &&
!is_deleted) {
EXTRACT_INT_FIELD_TO_CLASS_MYSQL(result, schema_version, partition, int64_t);
ObString bhigh_bound_val;
ObString blist_val;
...
...
@@ -4253,12 +4253,26 @@ int ObSchemaRetrieveUtils::fill_base_part_info(
ret = OB_SUCCESS;
} else if (OB_SUCCESS != ret) {
SQL_LOG(WARN, "fail to get varchar column 'b_list_val' of base_part_info.", K(ret));
} else if (OB_FAIL(partition.set_list_vector_values_with_hex_str(blist_val))) {
SHARE_SCHEMA_LOG(WARN, "Failed to set list val to partition", K(ret));
} else {
// bugfix: issue/48579037
// In 4.x, tablegroup_id/table_id is in the same scope, so we can distinguish table and tablegroup based on object_id.
bool is_oracle_mode = false;
if (is_sys_tablegroup_id(table_id)) {
is_oracle_mode = false;
} else if (OB_FAIL(ObCompatModeGetter::check_is_oracle_mode_with_table_id(
tenant_id, table_id, is_oracle_mode))) {
LOG_WARN("fail to check oracle mode", KR(ret), K(tenant_id), K(table_id));
}
lib::CompatModeGuard guard(is_oracle_mode ?
lib::Worker::CompatMode::ORACLE :
lib::Worker::CompatMode::MYSQL);
if (FAILEDx(partition.set_list_vector_values_with_hex_str(blist_val))) {
SHARE_SCHEMA_LOG(WARN, "Failed to set list val to partition", K(ret));
}
}
}
bool ignore_column_error = ObSchemaService::g_ignore_column_retrieve_error_;
if (!(is_subpart_def && is_subpart_template)) {
if (
OB_SUCC(ret) &&
!(is_subpart_def && is_subpart_template)) {
EXTRACT_INT_FIELD_TO_CLASS_MYSQL_WITH_DEFAULT_VALUE(result, tablet_id, partition, uint64_t, true, ignore_column_error, 0);
}
} else { }//do nothing
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录