Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
大炮V587
oceanbase
提交
bfc6083c
O
oceanbase
项目概览
大炮V587
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
0
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,发现更多精彩内容 >>
提交
bfc6083c
编写于
2月 06, 2023
作者:
O
obdev
提交者:
ob-robot
2月 06, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[BUGFIX] fix mysqltest
上级
7ec97aa3
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
17 addition
and
3 deletion
+17
-3
src/storage/access/ob_multiple_merge.cpp
src/storage/access/ob_multiple_merge.cpp
+12
-1
src/storage/access/ob_multiple_merge.h
src/storage/access/ob_multiple_merge.h
+1
-0
src/storage/lob/ob_lob_locator.cpp
src/storage/lob/ob_lob_locator.cpp
+0
-2
src/storage/lob/ob_lob_locator.h
src/storage/lob/ob_lob_locator.h
+1
-0
src/storage/lob/ob_lob_manager.cpp
src/storage/lob/ob_lob_manager.cpp
+3
-0
未找到文件。
src/storage/access/ob_multiple_merge.cpp
浏览文件 @
bfc6083c
...
...
@@ -325,6 +325,7 @@ int ObMultipleMerge::get_next_row(ObDatumRow *&row)
if
(
need_padding_
)
{
padding_allocator_
.
reuse
();
}
reuse_lob_locator
();
while
(
OB_SUCC
(
ret
))
{
if
(
access_ctx_
->
is_limit_end
())
{
ret
=
OB_ITER_END
;
...
...
@@ -448,6 +449,7 @@ int ObMultipleMerge::get_next_normal_rows(int64_t &count, int64_t capacity)
if
(
need_padding_
)
{
padding_allocator_
.
reuse
();
}
reuse_lob_locator
();
while
(
OB_SUCC
(
ret
)
&&
!
vector_store
->
is_end
())
{
bool
can_batch
=
false
;
if
(
access_ctx_
->
is_limit_end
())
{
...
...
@@ -552,6 +554,7 @@ int ObMultipleMerge::get_next_aggregate_row(ObDatumRow *&row)
int64_t
batch_size
=
max
(
1
,
access_param_
->
op_
->
get_batch_size
());
access_param_
->
op_
->
get_eval_ctx
().
reuse
(
batch_size
);
}
reuse_lob_locator
();
while
(
OB_SUCC
(
ret
)
&&
!
agg_row_store
->
is_end
())
{
bool
can_batch
=
false
;
// clear evaluated flag for every row
...
...
@@ -1298,7 +1301,6 @@ int ObMultipleMerge::read_lob_columns_full_data(blocksstable::ObDatumRow &row)
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"Invalid col count"
,
K
(
row
),
KPC
(
out_cols_param
));
}
else
{
lob_reader_
.
reuse
();
for
(
int64_t
i
=
0
;
OB_SUCC
(
ret
)
&&
i
<
row
.
count_
;
++
i
)
{
blocksstable
::
ObStorageDatum
&
datum
=
row
.
storage_datums_
[
i
];
if
(
out_cols_param
->
at
(
i
)
->
get_meta_type
().
is_lob_storage
())
{
...
...
@@ -1375,5 +1377,14 @@ int ObMultipleMerge::fuse_lob_default(ObObj &def_cell, const uint64_t col_id)
}
return
ret
;
}
void
ObMultipleMerge
::
reuse_lob_locator
()
{
if
(
NULL
!=
access_ctx_
->
lob_locator_helper_
)
{
access_ctx_
->
lob_locator_helper_
->
reuse
();
}
lob_reader_
.
reuse
();
}
}
}
src/storage/access/ob_multiple_merge.h
浏览文件 @
bfc6083c
...
...
@@ -112,6 +112,7 @@ private:
int
read_lob_columns_full_data
(
blocksstable
::
ObDatumRow
&
row
);
bool
need_read_lob_columns
(
const
blocksstable
::
ObDatumRow
&
row
);
int
handle_lob_before_fuse_row
();
void
reuse_lob_locator
();
void
report_tablet_stat
();
OB_INLINE
int
update_and_report_tablet_stat
();
...
...
src/storage/lob/ob_lob_locator.cpp
浏览文件 @
bfc6083c
...
...
@@ -171,7 +171,6 @@ int ObLobLocatorHelper::fill_lob_locator(ObDatumRow &row,
}
else
{
STORAGE_LOG
(
DEBUG
,
"start to fill lob locator"
,
K
(
row
));
//ObLobLocatorHelper is inited, we always cound find a lob cell in projected row
locator_allocator_
.
reuse
();
if
(
OB_FAIL
(
build_rowid_obj
(
row
,
rowkey_str_
,
is_projected_row
,
*
col_descs
,
*
out_project
,
access_param
.
iter_param_
.
tablet_id_
)))
{
...
...
@@ -236,7 +235,6 @@ int ObLobLocatorHelper::fill_lob_locator_v2(ObDatumRow &row,
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"Invalid col count"
,
K
(
row
),
KPC
(
out_cols_param
));
}
else
{
locator_allocator_
.
reuse
();
if
(
OB_FAIL
(
build_rowid_obj
(
row
,
rowkey_str_
,
false
,
*
col_descs
,
*
out_project
,
access_param
.
iter_param_
.
tablet_id_
)))
{
STORAGE_LOG
(
WARN
,
"Failed to build rowid obj"
,
K
(
ret
),
K
(
rowkey_str_
));
}
else
{
...
...
src/storage/lob/ob_lob_locator.h
浏览文件 @
bfc6083c
...
...
@@ -27,6 +27,7 @@ public:
ObLobLocatorHelper
();
virtual
~
ObLobLocatorHelper
();
void
reset
();
void
reuse
()
{
locator_allocator_
.
reuse
();
}
int
init
(
const
ObTableScanParam
&
scan_param
,
const
ObStoreCtx
&
ctx
,
const
share
::
ObLSID
&
ls_id
,
...
...
src/storage/lob/ob_lob_manager.cpp
浏览文件 @
bfc6083c
...
...
@@ -481,6 +481,9 @@ int ObLobManager::query_remote(ObLobAccessParam& param, common::ObAddr& dst_addr
}
}
}
if
(
ret
==
OB_ITER_END
)
{
ret
=
OB_SUCCESS
;
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录