Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
oceanbase
oceanbase
提交
28bc220a
O
oceanbase
项目概览
oceanbase
/
oceanbase
8 个月 前同步成功
通知
260
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,体验更适合开发者的 AI 搜索 >>
提交
28bc220a
编写于
4月 23, 2024
作者:
C
coolfishchen
提交者:
ob-robot
4月 23, 2024
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ObDDLMemtable use DIRECT_LOAD_MEMTABLE in inc direct load
上级
77747a1c
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
15 addition
and
9 deletion
+15
-9
src/storage/access/ob_block_sample_iterator.cpp
src/storage/access/ob_block_sample_iterator.cpp
+1
-1
src/storage/blocksstable/index_block/ob_sstable_sec_meta_iterator.cpp
...blocksstable/index_block/ob_sstable_sec_meta_iterator.cpp
+1
-1
src/storage/ddl/ob_ddl_merge_task.cpp
src/storage/ddl/ob_ddl_merge_task.cpp
+2
-2
src/storage/ddl/ob_tablet_ddl_kv.cpp
src/storage/ddl/ob_tablet_ddl_kv.cpp
+5
-1
src/storage/ob_i_table.h
src/storage/ob_i_table.h
+3
-1
src/storage/ob_partition_range_spliter.cpp
src/storage/ob_partition_range_spliter.cpp
+1
-1
src/storage/tablet/ob_table_store_util.cpp
src/storage/tablet/ob_table_store_util.cpp
+1
-1
src/storage/tablet/ob_tablet_table_store_iterator.cpp
src/storage/tablet/ob_tablet_table_store_iterator.cpp
+1
-1
未找到文件。
src/storage/access/ob_block_sample_iterator.cpp
浏览文件 @
28bc220a
...
...
@@ -406,7 +406,7 @@ int ObBlockSampleRangeIterator::init_and_push_endkey_iterator(ObGetTableParam &g
}
else
{
STORAGE_LOG
(
WARN
,
"Fail to get next table iter"
,
K
(
ret
),
K
(
get_table_param
.
tablet_iter_
.
table_iter
()));
}
}
else
if
(
!
table
->
is_sstable
()
||
table
->
is_ddl_
mem
_sstable
())
{
}
else
if
(
!
table
->
is_sstable
()
||
table
->
is_ddl_
kv
_sstable
())
{
}
else
if
(
OB_ISNULL
(
table
)
||
OB_ISNULL
(
sample_range_
)
||
OB_ISNULL
(
allocator_
))
{
ret
=
OB_ERR_UNEXPECTED
;
STORAGE_LOG
(
WARN
,
"Unexpected null sstable"
,
K
(
ret
),
KP
(
table
),
KP
(
sample_range_
),
KP
(
allocator_
));
...
...
src/storage/blocksstable/index_block/ob_sstable_sec_meta_iterator.cpp
浏览文件 @
28bc220a
...
...
@@ -76,7 +76,7 @@ int ObSSTableSecMetaIterator::open(
{
int
ret
=
OB_SUCCESS
;
bool
is_meta_root
=
false
;
const
bool
is_ddl_mem_sstable
=
sstable
.
is_ddl_
mem
_sstable
();
const
bool
is_ddl_mem_sstable
=
sstable
.
is_ddl_
kv
_sstable
();
if
(
IS_INIT
)
{
ret
=
OB_INIT_TWICE
;
LOG_WARN
(
"Fail to open sstable secondary meta iterator"
,
K
(
ret
));
...
...
src/storage/ddl/ob_ddl_merge_task.cpp
浏览文件 @
28bc220a
...
...
@@ -1034,7 +1034,7 @@ int ObDDLMacroBlockIterator::open(ObSSTable *sstable, const ObDatumRange &query_
}
else
if
(
OB_UNLIKELY
(
nullptr
==
sstable
||
!
query_range
.
is_valid
()
||
!
read_info
.
is_valid
()))
{
ret
=
OB_INVALID_ARGUMENT
;
LOG_WARN
(
"invalid argument"
,
K
(
ret
),
KP
(
sstable
),
K
(
query_range
),
K
(
read_info
));
}
else
if
(
sstable
->
is_ddl_
mem
_sstable
())
{
// ddl mem, scan keybtree
}
else
if
(
sstable
->
is_ddl_
kv
_sstable
())
{
// ddl mem, scan keybtree
ObDDLMemtable
*
ddl_memtable
=
static_cast
<
ObDDLMemtable
*>
(
sstable
);
if
(
OB_ISNULL
(
ddl_memtable
))
{
ret
=
OB_ERR_UNEXPECTED
;
...
...
@@ -1085,7 +1085,7 @@ int ObDDLMacroBlockIterator::get_next(ObDataMacroBlockMeta &data_macro_meta, int
if
(
OB_UNLIKELY
(
!
is_inited_
))
{
ret
=
OB_NOT_INIT
;
LOG_WARN
(
"not init"
,
K
(
ret
),
K
(
is_inited_
));
}
else
if
(
sstable_
->
is_ddl_
mem
_sstable
())
{
}
else
if
(
sstable_
->
is_ddl_
kv
_sstable
())
{
ObDatumRowkeyWrapper
tree_key
;
ObBlockMetaTreeValue
*
tree_value
=
nullptr
;
if
(
OB_FAIL
(
ddl_iter_
.
get_next
(
tree_key
,
tree_value
)))
{
...
...
src/storage/ddl/ob_tablet_ddl_kv.cpp
浏览文件 @
28bc220a
...
...
@@ -164,7 +164,11 @@ int ObDDLMemtable::init_sstable_param(
}
}
}
else
{
sstable_param
.
table_key_
.
table_type_
=
ObITable
::
TableType
::
DDL_MEM_SSTABLE
;
if
(
table_key
.
table_type_
==
ObITable
::
TableType
::
MINI_SSTABLE
)
{
sstable_param
.
table_key_
.
table_type_
=
ObITable
::
TableType
::
DIRECT_LOAD_MEMTABLE
;
}
else
{
sstable_param
.
table_key_
.
table_type_
=
ObITable
::
TableType
::
DDL_MEM_SSTABLE
;
}
sstable_param
.
rowkey_column_cnt_
=
storage_schema
.
get_rowkey_column_num
()
+
ObMultiVersionRowkeyHelpper
::
get_extra_rowkey_col_cnt
();
sstable_param
.
column_cnt_
=
column_count
;
}
...
...
src/storage/ob_i_table.h
浏览文件 @
28bc220a
...
...
@@ -284,6 +284,7 @@ public:
virtual
bool
is_empty
()
const
=
0
;
virtual
bool
no_data_to_read
()
const
{
return
is_empty
();
}
virtual
bool
is_ddl_merge_empty_sstable
()
const
{
return
is_empty
()
&&
is_ddl_merge_sstable
();
}
virtual
bool
is_ddl_kv_sstable
()
const
{
return
is_ddl_mem_sstable
()
||
is_direct_load_memtable
();
}
DECLARE_VIRTUAL_TO_STRING
;
static
bool
is_sstable
(
const
TableType
table_type
)
...
...
@@ -307,7 +308,8 @@ public:
{
return
ObITable
::
TableType
::
MINOR_SSTABLE
==
table_type
||
ObITable
::
TableType
::
MINI_SSTABLE
==
table_type
||
ObITable
::
TableType
::
REMOTE_LOGICAL_MINOR_SSTABLE
==
table_type
;
||
ObITable
::
TableType
::
REMOTE_LOGICAL_MINOR_SSTABLE
==
table_type
||
ObITable
::
TableType
::
DIRECT_LOAD_MEMTABLE
==
table_type
;
}
static
bool
is_multi_version_table
(
const
TableType
table_type
)
...
...
src/storage/ob_partition_range_spliter.cpp
浏览文件 @
28bc220a
...
...
@@ -400,7 +400,7 @@ int ObPartitionParallelRanger::init_macro_iters(ObRangeSplitInfo &range_info)
}
else
if
(
OB_UNLIKELY
(
!
table
->
is_sstable
()))
{
ret
=
OB_ERR_UNEXPECTED
;
STORAGE_LOG
(
WARN
,
"Unexpected table type"
,
K
(
ret
),
KPC
(
table
));
}
else
if
(
is_micro_level_
&&
!
table
->
is_ddl_
mem
_sstable
())
{
// ddl kv not support endkey iterator of micro block
}
else
if
(
is_micro_level_
&&
!
table
->
is_ddl_
kv
_sstable
())
{
// ddl kv not support endkey iterator of micro block
if
(
OB_ISNULL
(
buf
=
allocator_
.
alloc
(
sizeof
(
ObMicroEndkeyIterator
))))
{
ret
=
OB_ALLOCATE_MEMORY_FAILED
;
STORAGE_LOG
(
WARN
,
"Failed to alloc memory for endkey iter"
,
K
(
ret
));
...
...
src/storage/tablet/ob_table_store_util.cpp
浏览文件 @
28bc220a
...
...
@@ -230,7 +230,7 @@ int ObSSTableArray::inner_init(
if
(
OB_ISNULL
(
table
))
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"unexpected null table ptr"
,
K
(
ret
));
}
else
if
(
OB_UNLIKELY
(
!
table
->
is_sstable
()
&&
!
table
->
is_ddl_
mem
_sstable
()))
{
}
else
if
(
OB_UNLIKELY
(
!
table
->
is_sstable
()
&&
!
table
->
is_ddl_
kv
_sstable
()))
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"unexpected table type"
,
K
(
ret
),
KPC
(
table
));
}
else
if
(
OB_FAIL
(
static_cast
<
ObSSTable
*>
(
table
)
->
deep_copy
(
allocator
,
sstable_array_
[
i
-
start_pos
])))
{
...
...
src/storage/tablet/ob_tablet_table_store_iterator.cpp
浏览文件 @
28bc220a
...
...
@@ -135,7 +135,7 @@ int ObTableStoreIterator::get_next(ObTableHandleV2 &table_handle)
}
else
{
if
(
OB_FAIL
(
get_ith_table
(
pos_
,
table
)))
{
LOG_WARN
(
"fail to get ith table"
,
K
(
ret
),
K
(
pos_
));
}
else
if
(
table
->
is_memtable
()
||
table
->
is_ddl_
mem
_sstable
())
{
}
else
if
(
table
->
is_memtable
()
||
table
->
is_ddl_
kv
_sstable
())
{
ObTenantMetaMemMgr
*
t3m
=
MTL
(
ObTenantMetaMemMgr
*
);
if
(
OB_FAIL
(
table_handle
.
set_table
(
table
,
t3m
,
table
->
get_key
().
table_type_
)))
{
LOG_WARN
(
"failed to set memtable to table handle"
,
K
(
ret
),
KPC
(
table
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录