fix:[TD-32526] consumer null if add column because of pDataBlock not clear
This commit is contained in:
parent
5663519d47
commit
db97e26d32
|
@ -562,9 +562,18 @@ int32_t tqMaskBlock(SSchemaWrapper* pDst, SSDataBlock* pBlock, const SSchemaWrap
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t buildResSDataBlock(SSDataBlock* pBlock, SSchemaWrapper* pSchema, const SArray* pColIdList) {
|
static int32_t buildResSDataBlock(STqReader* pReader, SSchemaWrapper* pSchema, const SArray* pColIdList) {
|
||||||
|
SSDataBlock* pBlock = pReader->pResBlock;
|
||||||
if (blockDataGetNumOfCols(pBlock) > 0) {
|
if (blockDataGetNumOfCols(pBlock) > 0) {
|
||||||
return TSDB_CODE_SUCCESS;
|
blockDataDestroy(pBlock);
|
||||||
|
int32_t code = createDataBlock(&pReader->pResBlock);
|
||||||
|
if (code) {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
pBlock = pReader->pResBlock;
|
||||||
|
|
||||||
|
pBlock->info.id.uid = pReader->cachedSchemaUid;
|
||||||
|
pBlock->info.version = pReader->msg.ver;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t numOfCols = taosArrayGetSize(pColIdList);
|
int32_t numOfCols = taosArrayGetSize(pColIdList);
|
||||||
|
@ -678,10 +687,9 @@ int32_t tqRetrieveDataBlock(STqReader* pReader, SSDataBlock** pRes, const char*
|
||||||
vgId, suid, uid, sversion, pReader->pSchemaWrapper->version);
|
vgId, suid, uid, sversion, pReader->pSchemaWrapper->version);
|
||||||
return TSDB_CODE_TQ_INTERNAL_ERROR;
|
return TSDB_CODE_TQ_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
if (blockDataGetNumOfCols(pBlock) == 0) {
|
code = buildResSDataBlock(pReader, pReader->pSchemaWrapper, pReader->pColIdList);
|
||||||
code = buildResSDataBlock(pReader->pResBlock, pReader->pSchemaWrapper, pReader->pColIdList);
|
|
||||||
TSDB_CHECK_CODE(code, line, END);
|
TSDB_CHECK_CODE(code, line, END);
|
||||||
}
|
pBlock = pReader->pResBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t numOfRows = 0;
|
int32_t numOfRows = 0;
|
||||||
|
|
|
@ -2877,7 +2877,6 @@ static int32_t setBlockIntoRes(SStreamScanInfo* pInfo, const SSDataBlock* pBlock
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
blockDataFreeRes((SSDataBlock*)pBlock);
|
|
||||||
code = calBlockTbName(pInfo, pInfo->pRes, 0);
|
code = calBlockTbName(pInfo, pInfo->pRes, 0);
|
||||||
QUERY_CHECK_CODE(code, lino, _end);
|
QUERY_CHECK_CODE(code, lino, _end);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue