cache/serialize: keep original col value untouched

This commit is contained in:
Minglei Jin 2023-05-10 14:39:51 +08:00
parent 84987c494a
commit 9bbf36d35d
1 changed files with 4 additions and 3 deletions

View File

@ -180,11 +180,12 @@ void tsdbCacheSerialize(SLastCol *pLastCol, char **value, size_t *size) {
*(SLastCol *)(*value) = *pLastCol;
if (IS_VAR_DATA_TYPE(pColVal->type)) {
uint8_t *pVal = pColVal->value.pData;
pColVal->value.pData = *value + sizeof(*pLastCol);
SColVal *pDColVal = &((SLastCol *)(*value))->colVal;
pDColVal->value.pData = *value + sizeof(*pLastCol);
if (pColVal->value.nData > 0) {
memcpy(pColVal->value.pData, pVal, pColVal->value.nData);
memcpy(pDColVal->value.pData, pVal, pColVal->value.nData);
} else {
pColVal->value.pData = NULL;
pDColVal->value.pData = NULL;
}
}
*size = length;