Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
oceanbase
oceanbase
提交
83eed286
O
oceanbase
项目概览
oceanbase
/
oceanbase
大约 1 年 前同步成功
通知
261
Star
6084
Fork
1301
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
83eed286
编写于
10月 16, 2023
作者:
S
simonjoylet
提交者:
ob-robot
10月 16, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CP] ddl kv use first ddl sstable to get compressor type
上级
4337f7c3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
17 addition
and
7 deletion
+17
-7
mittest/mtlenv/storage/blocksstable/ob_index_block_data_prepare.h
...mtlenv/storage/blocksstable/ob_index_block_data_prepare.h
+1
-1
src/storage/ddl/ob_tablet_ddl_kv.cpp
src/storage/ddl/ob_tablet_ddl_kv.cpp
+12
-4
src/storage/ddl/ob_tablet_ddl_kv.h
src/storage/ddl/ob_tablet_ddl_kv.h
+4
-2
未找到文件。
mittest/mtlenv/storage/blocksstable/ob_index_block_data_prepare.h
浏览文件 @
83eed286
...
...
@@ -532,7 +532,7 @@ void TestIndexBlockDataPrepare::prepare_ddl_kv()
share
::
SCN
ddl_start_scn
;
ddl_start_scn
.
convert_from_ts
(
ObTimeUtility
::
current_time
());
ASSERT_EQ
(
OB_SUCCESS
,
ddl_kv_
.
init
(
*
tablet_handle
.
get_obj
(),
ddl_start_scn
,
sstable_
.
get_data_version
(),
ddl_start_scn
,
4000
));
ASSERT_EQ
(
OB_SUCCESS
,
ddl_kv_
.
init
(
*
tablet_handle
.
get_obj
(),
ddl_start_scn
,
sstable_
.
get_data_version
(),
ddl_start_scn
,
4000
,
false
/*require_ddl_sstable*/
));
SMART_VAR
(
ObSSTableSecMetaIterator
,
meta_iter
)
{
ObDatumRange
query_range
;
...
...
src/storage/ddl/ob_tablet_ddl_kv.cpp
浏览文件 @
83eed286
...
...
@@ -52,10 +52,13 @@ ObBlockMetaTree::~ObBlockMetaTree()
int
ObBlockMetaTree
::
init
(
ObTablet
&
tablet
,
const
ObITable
::
TableKey
&
table_key
,
const
share
::
SCN
&
ddl_start_scn
,
const
int64_t
data_format_version
)
const
int64_t
data_format_version
,
const
bool
require_ddl_sstable
/* = true */
)
{
int
ret
=
OB_SUCCESS
;
const
ObMemAttr
mem_attr
(
MTL_ID
(),
"BlockMetaTree"
);
ObTableStoreIterator
ddl_table_iter
;
ObITable
*
first_ddl_sstable
=
nullptr
;
// get compressor_type of macro block for query
if
(
OB_UNLIKELY
(
is_inited_
))
{
ret
=
OB_INIT_TWICE
;
LOG_WARN
(
"init twice"
,
K
(
ret
));
...
...
@@ -65,10 +68,14 @@ int ObBlockMetaTree::init(ObTablet &tablet,
}
else
if
(
FALSE_IT
(
arena_
.
set_attr
(
mem_attr
)))
{
}
else
if
(
OB_FAIL
(
block_tree_
.
init
()))
{
LOG_WARN
(
"init block tree failed"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
tablet
.
get_ddl_sstables
(
ddl_table_iter
)))
{
LOG_WARN
(
"get ddl sstable handles failed"
,
K
(
ret
));
}
else
if
(
require_ddl_sstable
&&
OB_FAIL
(
ddl_table_iter
.
get_boundary_table
(
false
/*is_last*/
,
first_ddl_sstable
)))
{
LOG_WARN
(
"failed to get boundary table"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
ObTabletDDLUtil
::
prepare_index_data_desc
(
tablet
,
table_key
.
get_snapshot_version
(),
data_format_version
,
nullptr
,
// first ddl sstable
static_cast
<
ObSSTable
*>
(
first_ddl_sstable
),
data_desc_
)))
{
LOG_WARN
(
"prepare data store desc failed"
,
K
(
ret
),
K
(
table_key
),
K
(
data_format_version
));
}
else
{
...
...
@@ -445,7 +452,8 @@ int ObDDLKV::init(ObTablet &tablet,
const
SCN
&
ddl_start_scn
,
const
int64_t
snapshot_version
,
const
SCN
&
last_freezed_scn
,
const
int64_t
data_format_version
)
const
int64_t
data_format_version
,
const
bool
require_ddl_sstable
/* = true */
)
{
int
ret
=
OB_SUCCESS
;
...
...
@@ -474,7 +482,7 @@ int ObDDLKV::init(ObTablet &tablet,
ddl_param
.
snapshot_version_
=
snapshot_version
;
ddl_param
.
data_format_version_
=
data_format_version
;
ObTabletCreateSSTableParam
sstable_param
;
if
(
OB_FAIL
(
block_meta_tree_
.
init
(
tablet
,
ddl_param
.
table_key_
,
ddl_start_scn
,
data_format_version
)))
{
if
(
OB_FAIL
(
block_meta_tree_
.
init
(
tablet
,
ddl_param
.
table_key_
,
ddl_start_scn
,
data_format_version
,
require_ddl_sstable
)))
{
LOG_WARN
(
"init mem index sstable failed"
,
K
(
ret
),
K
(
ddl_param
));
}
else
if
(
OB_FAIL
(
init_sstable_param
(
tablet
,
ddl_param
.
table_key_
,
ddl_start_scn
,
sstable_param
)))
{
LOG_WARN
(
"init sstable param failed"
,
K
(
ret
));
...
...
src/storage/ddl/ob_tablet_ddl_kv.h
浏览文件 @
83eed286
...
...
@@ -52,7 +52,8 @@ public:
int
init
(
ObTablet
&
tablet
,
const
ObITable
::
TableKey
&
table_key
,
const
share
::
SCN
&
ddl_start_scn
,
const
int64_t
data_format_version
);
const
int64_t
data_format_version
,
const
bool
require_ddl_sstable
=
true
);
void
destroy
();
int
insert_macro_block
(
const
ObDDLMacroHandle
&
macro_handle
,
const
blocksstable
::
ObDatumRowkey
*
rowkey
,
...
...
@@ -119,7 +120,8 @@ public:
const
share
::
SCN
&
ddl_start_scn
,
const
int64_t
snapshot_version
,
const
share
::
SCN
&
last_freezed_scn
,
const
int64_t
data_format_version
);
const
int64_t
data_format_version
,
const
bool
require_ddl_sstable
=
true
);
void
reset
();
int
set_macro_block
(
ObTablet
&
tablet
,
const
ObDDLMacroBlock
&
macro_block
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录