[TD-5623]<feature>: fix passing pointer issue

This commit is contained in:
Ganlin Zhao 2021-08-11 23:03:24 +08:00
parent 8271c50889
commit 97e7f0fec0
1 changed files with 5 additions and 5 deletions

View File

@ -4193,11 +4193,11 @@ static void updateNumOfRowsInResultRows(SQueryRuntimeEnv* pRuntimeEnv, SQLFuncti
} }
} }
static int32_t compressQueryColData(SColumnInfoData *pColRes, int32_t numOfRows, char *data, int8_t compressed) { static int32_t compressQueryColData(SColumnInfoData *pColRes, int32_t numOfRows, char **data, int8_t compressed) {
int32_t colLen = pColRes->info.bytes * numOfRows; int32_t colLen = pColRes->info.bytes * numOfRows;
int32_t colCompLen = (*(tDataTypes[pColRes->info.type].compFunc))(pColRes->pData, colLen, numOfRows, data, int32_t colCompLen = (*(tDataTypes[pColRes->info.type].compFunc))(pColRes->pData, colLen, numOfRows, *data,
colLen + COMP_OVERFLOW_BYTES, compressed, NULL, 0); colLen + COMP_OVERFLOW_BYTES, compressed, NULL, 0);
data += colCompLen; *data += colCompLen;
return colCompLen; return colCompLen;
} }
@ -4218,7 +4218,7 @@ static void doCopyQueryResultToMsg(SQInfo *pQInfo, int32_t numOfRows, char *data
for (int32_t col = 0; col < numOfCols; ++col) { for (int32_t col = 0; col < numOfCols; ++col) {
SColumnInfoData* pColRes = taosArrayGet(pRes->pDataBlock, col); SColumnInfoData* pColRes = taosArrayGet(pRes->pDataBlock, col);
if (compressed) { if (compressed) {
compSizes[col] = compressQueryColData(pColRes, pRes->info.rows, data, compressed); compSizes[col] = compressQueryColData(pColRes, pRes->info.rows, &data, compressed);
*compLen += compSizes[col]; *compLen += compSizes[col];
} else { } else {
memmove(data, pColRes->pData, pColRes->info.bytes * pRes->info.rows); memmove(data, pColRes->pData, pColRes->info.bytes * pRes->info.rows);
@ -4229,7 +4229,7 @@ static void doCopyQueryResultToMsg(SQInfo *pQInfo, int32_t numOfRows, char *data
for (int32_t col = 0; col < numOfCols; ++col) { for (int32_t col = 0; col < numOfCols; ++col) {
SColumnInfoData* pColRes = taosArrayGet(pRes->pDataBlock, col); SColumnInfoData* pColRes = taosArrayGet(pRes->pDataBlock, col);
if (compressed) { if (compressed) {
compSizes[col] = compressQueryColData(pColRes, numOfRows, data, compressed); compSizes[col] = compressQueryColData(pColRes, numOfRows, &data, compressed);
*compLen += compSizes[col]; *compLen += compSizes[col];
} else { } else {
memmove(data, pColRes->pData, pColRes->info.bytes * numOfRows); memmove(data, pColRes->pData, pColRes->info.bytes * numOfRows);