diff --git a/src/common/src/tvariant.c b/src/common/src/tvariant.c index 8ca6a0d81385bdda3422cb35da47264cfa1cecfd..dc7ed1b2cc452956e7202eab8253c9111ad837f6 100644 --- a/src/common/src/tvariant.c +++ b/src/common/src/tvariant.c @@ -892,10 +892,12 @@ int32_t tVariantDumpEx(tVariant *pVariant, char *payload, int16_t type, bool inc case TSDB_DATA_TYPE_JSON: { if (pVariant->nType == TSDB_DATA_TYPE_NULL) { *(int8_t *)payload = TSDB_DATA_TINYINT_NULL; - } else if (pVariant->nType != TSDB_DATA_TYPE_BINARY){ - return -1; - } else { + } else if (pVariant->nType == TSDB_DATA_TYPE_BINARY){ *((int8_t *)payload) = TSDB_DATA_BINARY_PLACEHOLDER; + } else if (pVariant->nType == TSDB_DATA_TYPE_JSON){ // select * from stable, set tag type to json + memcpy(payload, pVariant->pz, pVariant->nLen); + } else { + return -1; } break; }