|
|
|
@ -744,8 +744,8 @@ static SSDataBlock* doTableScan(SOperatorInfo* pOperator) {
|
|
|
|
|
tableListGetGroupList(pTaskInfo->pTableInfoList, pInfo->currentGroupId, &pList, &num);
|
|
|
|
|
ASSERT(pInfo->base.dataReader == NULL);
|
|
|
|
|
|
|
|
|
|
int32_t code = tsdbReaderOpen(pInfo->base.readHandle.vnode, &pInfo->base.cond, pList, num,
|
|
|
|
|
pInfo->pResBlock, (STsdbReader**)&pInfo->base.dataReader, GET_TASKID(pTaskInfo));
|
|
|
|
|
int32_t code = tsdbReaderOpen(pInfo->base.readHandle.vnode, &pInfo->base.cond, pList, num, pInfo->pResBlock,
|
|
|
|
|
(STsdbReader**)&pInfo->base.dataReader, GET_TASKID(pTaskInfo));
|
|
|
|
|
if (code != TSDB_CODE_SUCCESS) {
|
|
|
|
|
T_LONG_JMP(pTaskInfo->env, code);
|
|
|
|
|
}
|
|
|
|
@ -962,8 +962,8 @@ static SSDataBlock* readPreVersionData(SOperatorInfo* pTableScanOp, uint64_t tbU
|
|
|
|
|
|
|
|
|
|
SSDataBlock* pBlock = pTableScanInfo->pResBlock;
|
|
|
|
|
STsdbReader* pReader = NULL;
|
|
|
|
|
int32_t code = tsdbReaderOpen(pTableScanInfo->base.readHandle.vnode, &cond, &tblInfo, 1, pBlock, (STsdbReader**)&pReader,
|
|
|
|
|
GET_TASKID(pTaskInfo));
|
|
|
|
|
int32_t code = tsdbReaderOpen(pTableScanInfo->base.readHandle.vnode, &cond, &tblInfo, 1, pBlock,
|
|
|
|
|
(STsdbReader**)&pReader, GET_TASKID(pTaskInfo));
|
|
|
|
|
if (code != TSDB_CODE_SUCCESS) {
|
|
|
|
|
terrno = code;
|
|
|
|
|
T_LONG_JMP(pTaskInfo->env, code);
|
|
|
|
@ -1729,11 +1729,18 @@ static SSDataBlock* doStreamScan(SOperatorInfo* pOperator) {
|
|
|
|
|
pTSInfo->scanTimes = 0;
|
|
|
|
|
pTSInfo->currentGroupId = -1;
|
|
|
|
|
pTaskInfo->streamInfo.recoverStep = STREAM_RECOVER_STEP__SCAN;
|
|
|
|
|
pTaskInfo->streamInfo.recoverScanFinished = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (pTaskInfo->streamInfo.recoverStep == STREAM_RECOVER_STEP__SCAN) {
|
|
|
|
|
if (pInfo->blockRecoverContiCnt > 100) {
|
|
|
|
|
pInfo->blockRecoverTotCnt += pInfo->blockRecoverContiCnt;
|
|
|
|
|
pInfo->blockRecoverContiCnt = 0;
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
SSDataBlock* pBlock = doTableScan(pInfo->pTableScanOp);
|
|
|
|
|
if (pBlock != NULL) {
|
|
|
|
|
pInfo->blockRecoverContiCnt++;
|
|
|
|
|
calBlockTbName(pInfo, pBlock);
|
|
|
|
|
if (pInfo->pUpdateInfo) {
|
|
|
|
|
TSKEY maxTs = updateInfoFillBlockData(pInfo->pUpdateInfo, pBlock, pInfo->primaryTsIndex);
|
|
|
|
@ -1751,6 +1758,7 @@ static SSDataBlock* doStreamScan(SOperatorInfo* pOperator) {
|
|
|
|
|
pTSInfo->base.cond.startVersion = -1;
|
|
|
|
|
pTSInfo->base.cond.endVersion = -1;
|
|
|
|
|
|
|
|
|
|
pTaskInfo->streamInfo.recoverScanFinished = true;
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2262,7 +2270,8 @@ SOperatorInfo* createStreamScanOperatorInfo(SReadHandle* pHandle, STableScanPhys
|
|
|
|
|
if (pHandle->initTableReader) {
|
|
|
|
|
pTSInfo->scanMode = TABLE_SCAN__TABLE_ORDER;
|
|
|
|
|
pTSInfo->base.dataReader = NULL;
|
|
|
|
|
code = tsdbReaderOpen(pHandle->vnode, &pTSInfo->base.cond, pList, num, pTSInfo->pResBlock, &pTSInfo->base.dataReader, NULL);
|
|
|
|
|
code = tsdbReaderOpen(pHandle->vnode, &pTSInfo->base.cond, pList, num, pTSInfo->pResBlock,
|
|
|
|
|
&pTSInfo->base.dataReader, NULL);
|
|
|
|
|
if (code != 0) {
|
|
|
|
|
terrno = code;
|
|
|
|
|
destroyTableScanOperatorInfo(pTableScanOp);
|
|
|
|
@ -2333,7 +2342,8 @@ SOperatorInfo* createStreamScanOperatorInfo(SReadHandle* pHandle, STableScanPhys
|
|
|
|
|
pOperator->exprSupp.numOfExprs = taosArrayGetSize(pInfo->pRes->pDataBlock);
|
|
|
|
|
|
|
|
|
|
__optr_fn_t nextFn = pTaskInfo->execModel == OPTR_EXEC_MODEL_STREAM ? doStreamScan : doQueueScan;
|
|
|
|
|
pOperator->fpSet = createOperatorFpSet(optrDummyOpenFn, nextFn, NULL, destroyStreamScanOperatorInfo, optrDefaultBufFn, NULL);
|
|
|
|
|
pOperator->fpSet =
|
|
|
|
|
createOperatorFpSet(optrDummyOpenFn, nextFn, NULL, destroyStreamScanOperatorInfo, optrDefaultBufFn, NULL);
|
|
|
|
|
|
|
|
|
|
return pOperator;
|
|
|
|
|
|
|
|
|
@ -2470,7 +2480,8 @@ SOperatorInfo* createTagScanOperatorInfo(SReadHandle* pReadHandle, STagScanPhysi
|
|
|
|
|
initResultSizeInfo(&pOperator->resultInfo, 4096);
|
|
|
|
|
blockDataEnsureCapacity(pInfo->pRes, pOperator->resultInfo.capacity);
|
|
|
|
|
|
|
|
|
|
pOperator->fpSet = createOperatorFpSet(optrDummyOpenFn, doTagScan, NULL, destroyTagScanOperatorInfo, optrDefaultBufFn, NULL);
|
|
|
|
|
pOperator->fpSet =
|
|
|
|
|
createOperatorFpSet(optrDummyOpenFn, doTagScan, NULL, destroyTagScanOperatorInfo, optrDefaultBufFn, NULL);
|
|
|
|
|
|
|
|
|
|
return pOperator;
|
|
|
|
|
|
|
|
|
@ -2495,7 +2506,8 @@ static SSDataBlock* getTableDataBlockImpl(void* param) {
|
|
|
|
|
void* p = tableListGetInfo(pTaskInfo->pTableInfoList, readIdx + pInfo->tableStartIndex);
|
|
|
|
|
SReadHandle* pHandle = &pInfo->base.readHandle;
|
|
|
|
|
|
|
|
|
|
int32_t code = tsdbReaderOpen(pHandle->vnode, pQueryCond, p, 1, pBlock, &pInfo->base.dataReader, GET_TASKID(pTaskInfo));
|
|
|
|
|
int32_t code =
|
|
|
|
|
tsdbReaderOpen(pHandle->vnode, pQueryCond, p, 1, pBlock, &pInfo->base.dataReader, GET_TASKID(pTaskInfo));
|
|
|
|
|
if (code != 0) {
|
|
|
|
|
T_LONG_JMP(pTaskInfo->env, code);
|
|
|
|
|
}
|
|
|
|
@ -3019,8 +3031,8 @@ SOperatorInfo* createTableCountScanOperatorInfo(SReadHandle* readHandle, STableC
|
|
|
|
|
|
|
|
|
|
setOperatorInfo(pOperator, "TableCountScanOperator", QUERY_NODE_PHYSICAL_PLAN_TABLE_COUNT_SCAN, false, OP_NOT_OPENED,
|
|
|
|
|
pInfo, pTaskInfo);
|
|
|
|
|
pOperator->fpSet =
|
|
|
|
|
createOperatorFpSet(optrDummyOpenFn, doTableCountScan, NULL, destoryTableCountScanOperator, optrDefaultBufFn, NULL);
|
|
|
|
|
pOperator->fpSet = createOperatorFpSet(optrDummyOpenFn, doTableCountScan, NULL, destoryTableCountScanOperator,
|
|
|
|
|
optrDefaultBufFn, NULL);
|
|
|
|
|
return pOperator;
|
|
|
|
|
|
|
|
|
|
_error:
|
|
|
|
|