Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a0e38fc7
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a0e38fc7
编写于
7月 02, 2022
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: do some internal refactor.
上级
42d0af5c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
7 deletion
+13
-7
source/dnode/vnode/src/tsdb/tsdbRead.c
source/dnode/vnode/src/tsdb/tsdbRead.c
+13
-7
未找到文件。
source/dnode/vnode/src/tsdb/tsdbRead.c
浏览文件 @
a0e38fc7
...
...
@@ -151,7 +151,7 @@ static int32_t doLoadRowsOfIdenticalTsInFileBlock(SBlockData* pBlockData, STable
static
int32_t
doLoadRowsOfIdenticalTsInBuf
(
STbDataIter
*
pIter
,
bool
*
hasVal
,
int64_t
ts
,
SRowMerger
*
pMerger
,
STsdbReader
*
pReader
);
static
int32_t
doAppendOneRow
(
SSDataBlock
*
pBlock
,
STsdbReader
*
pReader
,
STSRow
*
pTSRow
);
static
void
setComposedBlockFlag
(
STsdbReader
*
pReader
,
bool
composed
);
static
void
checkU
pdateSchema
(
TSDBROW
*
pRow
,
uint64_t
uid
,
STsdbReader
*
pReader
);
static
void
u
pdateSchema
(
TSDBROW
*
pRow
,
uint64_t
uid
,
STsdbReader
*
pReader
);
static
void
doMergeMultiRows
(
TSDBROW
*
pRow
,
uint64_t
uid
,
STbDataIter
*
dIter
,
bool
*
hasVal
,
STSRow
**
pTSRow
,
STsdbReader
*
pReader
);
static
void
doMergeMemIMemRows
(
TSDBROW
*
pRow
,
TSDBROW
*
piRow
,
STableBlockScanInfo
*
pBlockScanInfo
,
STsdbReader
*
pReader
,
STSRow
**
pTSRow
);
...
...
@@ -2063,7 +2063,14 @@ static bool fileBlockShouldLoad(STsdbReader* pReader, SFileDataBlockInfo *pFBloc
overlapWithNeighbor
=
overlapWithNeighborBlock
(
pBlock
,
pNeighbor
,
pReader
->
order
);
}
return
(
overlapWithNeighbor
||
bool
hasDup
=
false
;
if
(
pBlock
->
nSubBlock
==
1
)
{
hasDup
=
pBlock
->
hasDup
;
}
else
{
hasDup
=
true
;
}
return
(
overlapWithNeighbor
||
hasDup
||
dataBlockPartialRequired
(
&
pReader
->
window
,
&
pReader
->
verRange
,
pBlock
)
||
keyOverlapFileBlock
(
key
,
pBlock
,
&
pReader
->
verRange
)
||
(
pBlock
->
nRow
>
pReader
->
capacity
));
...
...
@@ -2478,7 +2485,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
}
else
{
SFileDataBlockInfo
*
pFBlock
=
getCurrentBlockInfo
(
&
pReader
->
status
.
blockIter
);
STableBlockScanInfo
*
pScanInfo
=
taosHashGet
(
pReader
->
status
.
pTableMap
,
&
pFBlock
->
uid
,
sizeof
(
pFBlock
->
uid
));
SBlock
*
pBlock
=
taosArrayGet
(
pScanInfo
->
pBlockList
,
pFBlock
->
tbBlockIdx
);
// current block are exhausted, try the next file block
if
(
pReader
->
status
.
fBlockDumpInfo
.
allDumped
)
{
...
...
@@ -2674,7 +2680,7 @@ int32_t doLoadRowsOfIdenticalTsInFileBlock(SBlockData* pBlockData, STableBlockSc
if
(
asc
)
{
pDumpInfo
->
rowIndex
+=
step
;
if
(
pDumpInfo
->
rowIndex
<
pBlockData
->
nRow
-
1
)
{
if
(
pDumpInfo
->
rowIndex
<
=
pBlockData
->
nRow
-
1
)
{
pDumpInfo
->
rowIndex
=
doMergeRowsInFileBlockImpl
(
pBlockData
,
pDumpInfo
->
rowIndex
,
key
,
pMerger
,
&
pReader
->
verRange
,
step
);
}
...
...
@@ -2703,7 +2709,7 @@ int32_t doLoadRowsOfIdenticalTsInFileBlock(SBlockData* pBlockData, STableBlockSc
return
TSDB_CODE_SUCCESS
;
}
void
checkU
pdateSchema
(
TSDBROW
*
pRow
,
uint64_t
uid
,
STsdbReader
*
pReader
)
{
void
u
pdateSchema
(
TSDBROW
*
pRow
,
uint64_t
uid
,
STsdbReader
*
pReader
)
{
int32_t
sversion
=
TSDBROW_SVERSION
(
pRow
);
if
(
pReader
->
pSchema
==
NULL
)
{
...
...
@@ -2718,7 +2724,7 @@ void doMergeMultiRows(TSDBROW* pRow, uint64_t uid, STbDataIter* dIter, bool* has
SRowMerger
merge
=
{
0
};
TSDBKEY
k
=
TSDBROW_KEY
(
pRow
);
checkU
pdateSchema
(
pRow
,
uid
,
pReader
);
u
pdateSchema
(
pRow
,
uid
,
pReader
);
tRowMergerInit
(
&
merge
,
pRow
,
pReader
->
pSchema
);
doLoadRowsOfIdenticalTsInBuf
(
dIter
,
hasVal
,
k
.
ts
,
&
merge
,
pReader
);
...
...
@@ -2732,7 +2738,7 @@ void doMergeMemIMemRows(TSDBROW* pRow, TSDBROW* piRow, STableBlockScanInfo *pBlo
TSDBKEY
ik
=
TSDBROW_KEY
(
piRow
);
ASSERT
(
k
.
ts
==
ik
.
ts
);
checkU
pdateSchema
(
piRow
,
pBlockScanInfo
->
uid
,
pReader
);
u
pdateSchema
(
piRow
,
pBlockScanInfo
->
uid
,
pReader
);
tRowMergerInit
(
&
merge
,
piRow
,
pReader
->
pSchema
);
doLoadRowsOfIdenticalTsInBuf
(
pBlockScanInfo
->
iiter
,
&
pBlockScanInfo
->
imemHasVal
,
ik
.
ts
,
&
merge
,
pReader
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录