Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7c9898cf
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
7c9898cf
编写于
7月 27, 2023
作者:
L
liuyao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adj stream scan
上级
c54bd55c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
36 deletion
+36
-36
source/libs/executor/src/scanoperator.c
source/libs/executor/src/scanoperator.c
+36
-36
未找到文件。
source/libs/executor/src/scanoperator.c
浏览文件 @
7c9898cf
...
...
@@ -1902,35 +1902,35 @@ static SSDataBlock* doStreamScan(SOperatorInfo* pOperator) {
printDataBlock
(
pInfo
->
pRecoverRes
,
"scan recover"
);
return
pInfo
->
pRecoverRes
;
}
break
;
case
STREAM_SCAN_FROM_UPDATERES
:
{
generateScanRange
(
pInfo
,
pInfo
->
pUpdateDataRes
,
pInfo
->
pUpdateRes
);
prepareRangeScan
(
pInfo
,
pInfo
->
pUpdateRes
,
&
pInfo
->
updateResIndex
);
pInfo
->
scanMode
=
STREAM_SCAN_FROM_DATAREADER_RANGE
;
printDataBlock
(
pInfo
->
pUpdateRes
,
"recover update"
);
return
pInfo
->
pUpdateRes
;
}
break
;
case
STREAM_SCAN_FROM_DELETE_DATA
:
{
generateScanRange
(
pInfo
,
pInfo
->
pUpdateDataRes
,
pInfo
->
pUpdateRes
);
prepareRangeScan
(
pInfo
,
pInfo
->
pUpdateRes
,
&
pInfo
->
updateResIndex
);
pInfo
->
scanMode
=
STREAM_SCAN_FROM_DATAREADER_RANGE
;
copyDataBlock
(
pInfo
->
pDeleteDataRes
,
pInfo
->
pUpdateRes
);
pInfo
->
pDeleteDataRes
->
info
.
type
=
STREAM_DELETE_DATA
;
printDataBlock
(
pInfo
->
pDeleteDataRes
,
"recover delete"
);
return
pInfo
->
pDeleteDataRes
;
}
break
;
case
STREAM_SCAN_FROM_DATAREADER_RANGE
:
{
SSDataBlock
*
pSDB
=
doRangeScan
(
pInfo
,
pInfo
->
pUpdateRes
,
pInfo
->
primaryTsIndex
,
&
pInfo
->
updateResIndex
);
if
(
pSDB
)
{
STableScanInfo
*
pTableScanInfo
=
pInfo
->
pTableScanOp
->
info
;
pSDB
->
info
.
type
=
pInfo
->
scanMode
==
STREAM_SCAN_FROM_DATAREADER_RANGE
?
STREAM_NORMAL
:
STREAM_PULL_DATA
;
checkUpdateData
(
pInfo
,
true
,
pSDB
,
false
);
printDataBlock
(
pSDB
,
"scan recover update"
);
calBlockTbName
(
pInfo
,
pSDB
);
return
pSDB
;
}
blockDataCleanup
(
pInfo
->
pUpdateDataRes
);
pInfo
->
scanMode
=
STREAM_SCAN_FROM_READERHANDLE
;
}
break
;
//
case STREAM_SCAN_FROM_UPDATERES: {
//
generateScanRange(pInfo, pInfo->pUpdateDataRes, pInfo->pUpdateRes);
//
prepareRangeScan(pInfo, pInfo->pUpdateRes, &pInfo->updateResIndex);
//
pInfo->scanMode = STREAM_SCAN_FROM_DATAREADER_RANGE;
//
printDataBlock(pInfo->pUpdateRes, "recover update");
//
return pInfo->pUpdateRes;
//
} break;
//
case STREAM_SCAN_FROM_DELETE_DATA: {
//
generateScanRange(pInfo, pInfo->pUpdateDataRes, pInfo->pUpdateRes);
//
prepareRangeScan(pInfo, pInfo->pUpdateRes, &pInfo->updateResIndex);
//
pInfo->scanMode = STREAM_SCAN_FROM_DATAREADER_RANGE;
//
copyDataBlock(pInfo->pDeleteDataRes, pInfo->pUpdateRes);
//
pInfo->pDeleteDataRes->info.type = STREAM_DELETE_DATA;
//
printDataBlock(pInfo->pDeleteDataRes, "recover delete");
//
return pInfo->pDeleteDataRes;
//
} break;
//
case STREAM_SCAN_FROM_DATAREADER_RANGE: {
//
SSDataBlock* pSDB = doRangeScan(pInfo, pInfo->pUpdateRes, pInfo->primaryTsIndex, &pInfo->updateResIndex);
//
if (pSDB) {
//
STableScanInfo* pTableScanInfo = pInfo->pTableScanOp->info;
//
pSDB->info.type = pInfo->scanMode == STREAM_SCAN_FROM_DATAREADER_RANGE ? STREAM_NORMAL : STREAM_PULL_DATA;
//
checkUpdateData(pInfo, true, pSDB, false);
//
printDataBlock(pSDB, "scan recover update");
//
calBlockTbName(pInfo, pSDB);
//
return pSDB;
//
}
//
blockDataCleanup(pInfo->pUpdateDataRes);
//
pInfo->scanMode = STREAM_SCAN_FROM_READERHANDLE;
//
} break;
default:
break
;
}
...
...
@@ -1939,13 +1939,13 @@ static SSDataBlock* doStreamScan(SOperatorInfo* pOperator) {
if
(
pInfo
->
pRecoverRes
!=
NULL
)
{
calBlockTbName
(
pInfo
,
pInfo
->
pRecoverRes
);
if
(
!
pInfo
->
igCheckUpdate
&&
pInfo
->
pUpdateInfo
)
{
if
(
pStreamInfo
->
recoverStep
==
STREAM_RECOVER_STEP__SCAN1
)
{
TSKEY
maxTs
=
pAPI
->
stateStore
.
updateInfoFillBlockData
(
pInfo
->
pUpdateInfo
,
pInfo
->
pRecoverRes
,
pInfo
->
primaryTsIndex
);
pInfo
->
twAggSup
.
maxTs
=
TMAX
(
pInfo
->
twAggSup
.
maxTs
,
maxTs
);
}
else
{
pInfo
->
pUpdateInfo
->
maxDataVersion
=
TMAX
(
pInfo
->
pUpdateInfo
->
maxDataVersion
,
pStreamInfo
->
fillHistoryVer
.
maxVer
);
doCheckUpdate
(
pInfo
,
pInfo
->
pRecoverRes
->
info
.
window
.
ekey
,
pInfo
->
pRecoverRes
);
}
//
if (pStreamInfo->recoverStep == STREAM_RECOVER_STEP__SCAN1) {
TSKEY
maxTs
=
pAPI
->
stateStore
.
updateInfoFillBlockData
(
pInfo
->
pUpdateInfo
,
pInfo
->
pRecoverRes
,
pInfo
->
primaryTsIndex
);
pInfo
->
twAggSup
.
maxTs
=
TMAX
(
pInfo
->
twAggSup
.
maxTs
,
maxTs
);
//
} else {
//
pInfo->pUpdateInfo->maxDataVersion = TMAX(pInfo->pUpdateInfo->maxDataVersion, pStreamInfo->fillHistoryVer.maxVer);
//
doCheckUpdate(pInfo, pInfo->pRecoverRes->info.window.ekey, pInfo->pRecoverRes);
//
}
}
if
(
pInfo
->
pCreateTbRes
->
info
.
rows
>
0
)
{
pInfo
->
scanMode
=
STREAM_SCAN_FROM_RES
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录