[TD-6443]<feature>: Support OpenTSDB HTTP JSON data import format

This commit is contained in:
Ganlin Zhao 2021-09-06 12:32:49 +08:00
parent 4a72753452
commit 0601017b64
1 changed files with 9 additions and 5 deletions

View File

@ -884,6 +884,7 @@ int32_t tscParseJSONPayload(cJSON *root, TAOS_SML_DATA_POINT* pSml, SSmlLinesInf
int32_t tscParseMultiJSONPayload(char* payload, SArray* points, SSmlLinesInfo* info) { int32_t tscParseMultiJSONPayload(char* payload, SArray* points, SSmlLinesInfo* info) {
int32_t payloadNum, ret; int32_t payloadNum, ret;
ret = TSDB_CODE_SUCCESS;
if (payload == NULL) { if (payload == NULL) {
tscError("OTD:0x%"PRIx64" empty JSON Payload", info->id); tscError("OTD:0x%"PRIx64" empty JSON Payload", info->id);
@ -898,7 +899,8 @@ int32_t tscParseMultiJSONPayload(char* payload, SArray* points, SSmlLinesInfo* i
payloadNum = cJSON_GetArraySize(root); payloadNum = cJSON_GetArraySize(root);
} else { } else {
tscError("OTD:0x%"PRIx64" Invalid JSON Payload", info->id); tscError("OTD:0x%"PRIx64" Invalid JSON Payload", info->id);
return TSDB_CODE_TSC_INVALID_JSON; ret = TSDB_CODE_TSC_INVALID_JSON;
goto PARSE_JSON_OVER;
} }
for (int32_t i = 0; i < payloadNum; ++i) { for (int32_t i = 0; i < payloadNum; ++i) {
@ -909,14 +911,16 @@ int32_t tscParseMultiJSONPayload(char* payload, SArray* points, SSmlLinesInfo* i
if (ret != TSDB_CODE_SUCCESS) { if (ret != TSDB_CODE_SUCCESS) {
tscError("OTD:0x%"PRIx64" JSON data point parse failed", info->id); tscError("OTD:0x%"PRIx64" JSON data point parse failed", info->id);
destroySmlDataPoint(&point); destroySmlDataPoint(&point);
return ret; goto PARSE_JSON_OVER;
} else { } else {
tscDebug("OTD:0x%"PRIx64" JSON data point parse success", info->id); tscDebug("OTD:0x%"PRIx64" JSON data point parse success", info->id);
} }
taosArrayPush(points, &point); taosArrayPush(points, &point);
} }
return TSDB_CODE_SUCCESS; PARSE_JSON_OVER:
cJSON_Delete(root);
return ret;
} }
int taos_insert_json_payload(TAOS* taos, char* payload) { int taos_insert_json_payload(TAOS* taos, char* payload) {