cache/serialize: keep original col value untouched
This commit is contained in:
parent
84987c494a
commit
9bbf36d35d
|
@ -180,11 +180,12 @@ void tsdbCacheSerialize(SLastCol *pLastCol, char **value, size_t *size) {
|
||||||
*(SLastCol *)(*value) = *pLastCol;
|
*(SLastCol *)(*value) = *pLastCol;
|
||||||
if (IS_VAR_DATA_TYPE(pColVal->type)) {
|
if (IS_VAR_DATA_TYPE(pColVal->type)) {
|
||||||
uint8_t *pVal = pColVal->value.pData;
|
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) {
|
if (pColVal->value.nData > 0) {
|
||||||
memcpy(pColVal->value.pData, pVal, pColVal->value.nData);
|
memcpy(pDColVal->value.pData, pVal, pColVal->value.nData);
|
||||||
} else {
|
} else {
|
||||||
pColVal->value.pData = NULL;
|
pDColVal->value.pData = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*size = length;
|
*size = length;
|
||||||
|
|
Loading…
Reference in New Issue