fix:add test cases for escape in schemaless
This commit is contained in:
parent
b1561c95c3
commit
8e8a3b268b
|
@ -452,25 +452,27 @@ static int32_t smlParseColKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
|
||||||
return TSDB_CODE_SML_INVALID_DATA;
|
return TSDB_CODE_SML_INVALID_DATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SSmlKv kv = {.key = key, .keyLen = keyLen, .value = value, .length = valueLen};
|
||||||
|
int32_t ret = smlParseValue(&kv, &info->msgBuf);
|
||||||
|
if (ret != TSDB_CODE_SUCCESS) {
|
||||||
|
smlBuildInvalidDataMsg(&info->msgBuf, "smlParseValue error", value);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
if (keyEscaped){
|
if (keyEscaped){
|
||||||
char *tmp = (char*)taosMemoryMalloc(keyLen);
|
char *tmp = (char*)taosMemoryMalloc(keyLen);
|
||||||
memcpy(tmp, key, keyLen);
|
memcpy(tmp, key, keyLen);
|
||||||
PROCESS_SLASH_IN_TAG_FIELD_KEY(tmp, keyLen);
|
PROCESS_SLASH_IN_TAG_FIELD_KEY(tmp, keyLen);
|
||||||
key = tmp;
|
kv.key = tmp;
|
||||||
}
|
kv.keyEscaped = keyEscaped;
|
||||||
if (valueEscaped){
|
|
||||||
char *tmp = (char*)taosMemoryMalloc(valueLen);
|
|
||||||
memcpy(tmp, value, valueLen);
|
|
||||||
PROCESS_SLASH_IN_FIELD_VALUE(tmp, valueLen);
|
|
||||||
value = tmp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SSmlKv kv = {.key = key, .keyLen = keyLen, .value = value, .length = valueLen, .keyEscaped = keyEscaped, .valueEscaped = valueEscaped};
|
if (valueEscaped){
|
||||||
int32_t ret = smlParseValue(&kv, &info->msgBuf);
|
char *tmp = (char*)taosMemoryMalloc(kv.length);
|
||||||
if (ret != TSDB_CODE_SUCCESS) {
|
memcpy(tmp, kv.value, kv.length);
|
||||||
smlBuildInvalidDataMsg(&info->msgBuf, "smlParseValue error", value);
|
PROCESS_SLASH_IN_FIELD_VALUE(tmp, kv.length);
|
||||||
freeSSmlKv(&kv);
|
kv.value = tmp;
|
||||||
return ret;
|
kv.valueEscaped = valueEscaped;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info->dataFormat) {
|
if (info->dataFormat) {
|
||||||
|
|
Loading…
Reference in New Issue