diff --git a/source/libs/executor/src/executil.c b/source/libs/executor/src/executil.c index 4f055cb928..a9ab8b783c 100644 --- a/source/libs/executor/src/executil.c +++ b/source/libs/executor/src/executil.c @@ -255,6 +255,7 @@ int32_t prepareDataBlockBuf(SSDataBlock* pDataBlock, SColMatchInfo* pMatchInfo) for (int32_t i = 0; i < taosArrayGetSize(pMatchInfo->pList); ++i) { SColMatchItem* pItem = taosArrayGet(pMatchInfo->pList, i); + if (pItem->isPk) { SColumnInfoData* pInfoData = taosArrayGet(pDataBlock->pDataBlock, pItem->dstSlotId); pBlockInfo->pks[0].type = pInfoData->info.type; @@ -271,6 +272,9 @@ int32_t prepareDataBlockBuf(SSDataBlock* pDataBlock, SColMatchInfo* pMatchInfo) taosMemoryFreeClear(pBlockInfo->pks[0].pData); return TSDB_CODE_OUT_OF_MEMORY; } + + pBlockInfo->pks[0].nData = pInfoData->info.bytes; + pBlockInfo->pks[1].nData = pInfoData->info.bytes; } } }