diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c index 5d6dde04ca14cca2b45f50e9d1779b7dbba85f73..57d75770cf5e87109fbf5b2afe0e552f46a4f1e4 100644 --- a/source/common/src/tdatablock.c +++ b/source/common/src/tdatablock.c @@ -299,7 +299,9 @@ int32_t colDataAssign(SColumnInfoData* pColumnInfoData, const SColumnInfoData* p return numOfRows; } - ASSERT(pBlockInfo->capacity >= numOfRows); + if (pBlockInfo != NULL) { + ASSERT(pBlockInfo->capacity >= numOfRows); + } if (IS_VAR_DATA_TYPE(pColumnInfoData->info.type)) { memcpy(pColumnInfoData->varmeta.offset, pSource->varmeta.offset, sizeof(int32_t) * numOfRows); diff --git a/source/libs/scalar/src/scalar.c b/source/libs/scalar/src/scalar.c index 9890cff6f26ae015be702a0d0dd7194402d2587e..75a9bc3809632f88601f8628add9aed4b8365cf4 100644 --- a/source/libs/scalar/src/scalar.c +++ b/source/libs/scalar/src/scalar.c @@ -982,7 +982,8 @@ int32_t scalarCalculate(SNode *pNode, SArray *pBlockList, SScalarParam *pDst) { sclError("no valid res in hash, node:%p, type:%d", pNode, nodeType(pNode)); SCL_ERR_JRET(TSDB_CODE_QRY_APP_ERROR); } - + + colInfoDataEnsureCapacity(pDst->columnData, res->numOfRows); colDataAssign(pDst->columnData, res->columnData, res->numOfRows, NULL); pDst->numOfRows = res->numOfRows; taosHashRemove(ctx.pRes, (void *)&pNode, POINTER_BYTES);