Merge pull request #12981 from taosdata/feature/stream
fix(stream): handle null data
This commit is contained in:
commit
64d60e8259
|
@ -1728,9 +1728,13 @@ SSubmitReq* tdBlockToSubmit(const SArray* pBlocks, const STSchema* pTSchema, boo
|
||||||
for (int32_t k = 0; k < pTSchema->numOfCols; k++) {
|
for (int32_t k = 0; k < pTSchema->numOfCols; k++) {
|
||||||
const STColumn* pColumn = &pTSchema->columns[k];
|
const STColumn* pColumn = &pTSchema->columns[k];
|
||||||
SColumnInfoData* pColData = taosArrayGet(pDataBlock->pDataBlock, k);
|
SColumnInfoData* pColData = taosArrayGet(pDataBlock->pDataBlock, k);
|
||||||
|
if (colDataIsNull_s(pColData, j)) {
|
||||||
|
tdAppendColValToRow(&rb, pColumn->colId, pColumn->type, TD_VTYPE_NONE, NULL, false, pColumn->offset, k);
|
||||||
|
} else {
|
||||||
void* data = colDataGetData(pColData, j);
|
void* data = colDataGetData(pColData, j);
|
||||||
tdAppendColValToRow(&rb, pColumn->colId, pColumn->type, TD_VTYPE_NORM, data, true, pColumn->offset, k);
|
tdAppendColValToRow(&rb, pColumn->colId, pColumn->type, TD_VTYPE_NORM, data, true, pColumn->offset, k);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
int32_t rowLen = TD_ROW_LEN(rowData);
|
int32_t rowLen = TD_ROW_LEN(rowData);
|
||||||
rowData = POINTER_SHIFT(rowData, rowLen);
|
rowData = POINTER_SHIFT(rowData, rowLen);
|
||||||
blkHead->dataLen += rowLen;
|
blkHead->dataLen += rowLen;
|
||||||
|
|
|
@ -158,7 +158,9 @@ static int32_t streamTaskExecImpl(SStreamTask* pTask, void* data, SArray* pRes)
|
||||||
ASSERT(false);
|
ASSERT(false);
|
||||||
}
|
}
|
||||||
if (output == NULL) break;
|
if (output == NULL) break;
|
||||||
taosArrayPush(pRes, output);
|
// TODO: do we need free memory?
|
||||||
|
SSDataBlock* outputCopy = createOneDataBlock(output, true);
|
||||||
|
taosArrayPush(pRes, outputCopy);
|
||||||
}
|
}
|
||||||
|
|
||||||
// destroy
|
// destroy
|
||||||
|
|
Loading…
Reference in New Issue