Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
野花太放肆
oceanbase
提交
54f9ade8
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,发现更多精彩内容 >>
提交
54f9ade8
编写于
3月 23, 2023
作者:
O
obdev
提交者:
ob-robot
3月 23, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[BUGFIX] fix ObTextStringIter ctx init to nullptr
上级
a12694ff
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
14 addition
and
11 deletion
+14
-11
src/share/ob_lob_access_utils.h
src/share/ob_lob_access_utils.h
+2
-2
src/storage/lob/ob_i_lob_adaptor.h
src/storage/lob/ob_i_lob_adaptor.h
+3
-0
src/storage/lob/ob_lob_meta.cpp
src/storage/lob/ob_lob_meta.cpp
+3
-3
src/storage/lob/ob_lob_persistent_adaptor.cpp
src/storage/lob/ob_lob_persistent_adaptor.cpp
+3
-3
src/storage/lob/ob_lob_persistent_adaptor.h
src/storage/lob/ob_lob_persistent_adaptor.h
+3
-3
未找到文件。
src/share/ob_lob_access_utils.h
浏览文件 @
54f9ade8
...
...
@@ -116,7 +116,7 @@ public:
bool
has_lob_header
)
:
type_
(
type
),
cs_type_
(
cs_type
),
is_init_
(
false
),
is_lob_
(
false
),
is_outrow_
(
false
),
has_lob_header_
(
has_lob_header
),
state_
(
TEXTSTRING_ITER_INVALID
),
datum_str_
(
datum_str
),
err_ret_
(
OB_SUCCESS
)
ctx_
(
nullptr
),
err_ret_
(
OB_SUCCESS
)
{
if
(
is_lob_storage
(
type
))
{
validate_has_lob_header
(
has_lob_header_
);
...
...
@@ -126,7 +126,7 @@ public:
ObTextStringIter
(
const
ObObj
&
obj
)
:
type_
(
obj
.
get_type
()),
cs_type_
(
obj
.
get_collation_type
()),
is_init_
(
false
),
is_lob_
(
false
),
is_outrow_
(
false
),
has_lob_header_
(
obj
.
has_lob_header
()),
state_
(
TEXTSTRING_ITER_INVALID
),
datum_str_
(
obj
.
get_string
()),
err_ret_
(
OB_SUCCESS
)
datum_str_
(
obj
.
get_string
()),
ctx_
(
nullptr
),
err_ret_
(
OB_SUCCESS
)
{
if
(
is_lob_storage
(
obj
.
get_type
()))
{
validate_has_lob_header
(
has_lob_header_
);
...
...
src/storage/lob/ob_i_lob_adaptor.h
浏览文件 @
54f9ade8
...
...
@@ -28,6 +28,9 @@ typedef struct ObLobPieceInfo ObLobPieceInfo;
// TODO interface define
class
ObILobApator
{
public:
virtual
int
write_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
row_info
)
=
0
;
virtual
int
update_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
old_row
,
ObLobMetaInfo
&
new_row
)
=
0
;
virtual
int
erase_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
row_info
)
=
0
;
virtual
int
scan_lob_meta
(
const
ObLobAccessParam
&
param
,
ObTableScanParam
&
scan_param
,
common
::
ObNewRowIterator
*&
meta_iter_
)
=
0
;
virtual
int
get_lob_data
(
ObLobAccessParam
&
param
,
uint64_t
piece_id
,
ObLobPieceInfo
&
info
)
=
0
;
virtual
int
revert_scan_iter
(
common
::
ObNewRowIterator
*
iter
)
=
0
;
...
...
src/storage/lob/ob_lob_meta.cpp
浏览文件 @
54f9ade8
...
...
@@ -673,7 +673,7 @@ int ObLobMetaWriteIter::close()
int
ObLobMetaManager
::
write
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
in_row
)
{
int
ret
=
OB_SUCCESS
;
if
(
OB_FAIL
(
persistent_lob_adapter_
.
write_lob_meta
_tablet
(
param
,
in_row
)))
{
if
(
OB_FAIL
(
persistent_lob_adapter_
.
write_lob_meta
(
param
,
in_row
)))
{
LOG_WARN
(
"write lob meta failed."
,
K
(
ret
),
K
(
param
));
}
return
ret
;
...
...
@@ -721,7 +721,7 @@ int ObLobMetaManager::scan(ObLobAccessParam& param, ObLobMetaScanIter &iter)
int
ObLobMetaManager
::
erase
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
in_row
)
{
int
ret
=
OB_SUCCESS
;
if
(
OB_FAIL
(
persistent_lob_adapter_
.
erase_lob_meta
_tablet
(
param
,
in_row
)))
{
if
(
OB_FAIL
(
persistent_lob_adapter_
.
erase_lob_meta
(
param
,
in_row
)))
{
LOG_WARN
(
"erase lob meta failed."
,
K
(
ret
),
K
(
param
));
}
return
ret
;
...
...
@@ -731,7 +731,7 @@ int ObLobMetaManager::erase(ObLobAccessParam& param, ObLobMetaInfo& in_row)
int
ObLobMetaManager
::
update
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
old_row
,
ObLobMetaInfo
&
new_row
)
{
int
ret
=
OB_SUCCESS
;
if
(
OB_FAIL
(
persistent_lob_adapter_
.
update_lob_meta
_tablet
(
param
,
old_row
,
new_row
)))
{
if
(
OB_FAIL
(
persistent_lob_adapter_
.
update_lob_meta
(
param
,
old_row
,
new_row
)))
{
LOG_WARN
(
"update lob meta failed."
);
}
return
ret
;
...
...
src/storage/lob/ob_lob_persistent_adaptor.cpp
浏览文件 @
54f9ade8
...
...
@@ -362,7 +362,7 @@ int ObPersistentLobApator::build_lob_meta_table_dml(
return
ret
;
}
int
ObPersistentLobApator
::
erase_lob_meta
_tablet
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
in_row
)
int
ObPersistentLobApator
::
erase_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
in_row
)
{
int
ret
=
OB_SUCCESS
;
...
...
@@ -477,7 +477,7 @@ int ObPersistentLobApator::erase_lob_piece_tablet(ObLobAccessParam& param, ObLob
return
ret
;
}
int
ObPersistentLobApator
::
write_lob_meta
_tablet
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
in_row
)
int
ObPersistentLobApator
::
write_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
in_row
)
{
int
ret
=
OB_SUCCESS
;
...
...
@@ -528,7 +528,7 @@ int ObPersistentLobApator::write_lob_meta_tablet(ObLobAccessParam& param, ObLobM
return
ret
;
}
int
ObPersistentLobApator
::
update_lob_meta
_tablet
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
old_row
,
ObLobMetaInfo
&
new_row
)
int
ObPersistentLobApator
::
update_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
old_row
,
ObLobMetaInfo
&
new_row
)
{
int
ret
=
OB_SUCCESS
;
...
...
src/storage/lob/ob_lob_persistent_adaptor.h
浏览文件 @
54f9ade8
...
...
@@ -56,17 +56,17 @@ public:
virtual
int
revert_scan_iter
(
common
::
ObNewRowIterator
*
iter
)
override
;
virtual
int
fetch_lob_id
(
const
ObLobAccessParam
&
param
,
uint64_t
&
lob_id
)
override
;
// write meta tablet
int
write_lob_meta_tablet
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
row_info
)
;
virtual
int
write_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
row_info
)
override
;
// write piece tablet
int
write_lob_piece_tablet
(
ObLobAccessParam
&
param
,
ObLobPieceInfo
&
in_row
);
// erase meta tablet item
int
erase_lob_meta_tablet
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
row_info
)
;
virtual
int
erase_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
row_info
)
override
;
// erase piece tablet item
int
erase_lob_piece_tablet
(
ObLobAccessParam
&
param
,
ObLobPieceInfo
&
in_row
);
// update piece tabliet item
int
update_lob_piece_tablet
(
ObLobAccessParam
&
param
,
ObLobPieceInfo
&
in_row
);
// update lob meta tablet item
int
update_lob_meta_tablet
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
old_row
,
ObLobMetaInfo
&
new_row
)
;
virtual
int
update_lob_meta
(
ObLobAccessParam
&
param
,
ObLobMetaInfo
&
old_row
,
ObLobMetaInfo
&
new_row
)
override
;
private:
// get schema from schema service
int
get_lob_tablet_schema
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录