Merge pull request #1263 from taosdata/feature/dockerfile
[TBASE-1542] modify format of Query result in Grafana API
This commit is contained in:
commit
a67de091d2
|
@ -37,7 +37,7 @@
|
||||||
#define HTTP_STEP_SIZE 1024 //http message get process step by step
|
#define HTTP_STEP_SIZE 1024 //http message get process step by step
|
||||||
#define HTTP_MAX_URL 5 //http url stack size
|
#define HTTP_MAX_URL 5 //http url stack size
|
||||||
#define HTTP_METHOD_SCANNER_SIZE 7 //http method fp size
|
#define HTTP_METHOD_SCANNER_SIZE 7 //http method fp size
|
||||||
#define HTTP_GC_TARGET_SIZE 128
|
#define HTTP_GC_TARGET_SIZE 512
|
||||||
|
|
||||||
#define HTTP_VERSION_10 0
|
#define HTTP_VERSION_10 0
|
||||||
#define HTTP_VERSION_11 1
|
#define HTTP_VERSION_11 1
|
||||||
|
|
|
@ -127,42 +127,43 @@ bool gcBuildQueryJson(HttpContext *pContext, HttpSqlCmd *cmd, TAOS_RES *result,
|
||||||
// for group by
|
// for group by
|
||||||
if (groupFields != -1) {
|
if (groupFields != -1) {
|
||||||
char target[HTTP_GC_TARGET_SIZE];
|
char target[HTTP_GC_TARGET_SIZE];
|
||||||
|
int len;
|
||||||
switch (fields[groupFields].type) {
|
len = snprintf(target,HTTP_GC_TARGET_SIZE,"%s{",aliasBuffer);
|
||||||
|
for (int i = dataFields + 1; i<num_fields; i++){
|
||||||
|
switch (fields[i].type) {
|
||||||
case TSDB_DATA_TYPE_BOOL:
|
case TSDB_DATA_TYPE_BOOL:
|
||||||
case TSDB_DATA_TYPE_TINYINT:
|
case TSDB_DATA_TYPE_TINYINT:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%d", aliasBuffer, *((int8_t *)row[groupFields]));
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%d", fields[i].name, *((int8_t *)row[i]));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_SMALLINT:
|
case TSDB_DATA_TYPE_SMALLINT:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%d", aliasBuffer, *((int16_t *)row[groupFields]));
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%d", fields[i].name, *((int16_t *)row[i]));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_INT:
|
case TSDB_DATA_TYPE_INT:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%d", aliasBuffer, *((int32_t *)row[groupFields]));
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%d,", fields[i].name, *((int32_t *)row[i]));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_BIGINT:
|
case TSDB_DATA_TYPE_BIGINT:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%ld", aliasBuffer, *((int64_t *)row[groupFields]));
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%ld", fields[i].name, *((int64_t *)row[i]));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_FLOAT:
|
case TSDB_DATA_TYPE_FLOAT:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%.5f", aliasBuffer, *((float *)row[groupFields]));
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%.5f", fields[i].name, *((float *)row[i]));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_DOUBLE:
|
case TSDB_DATA_TYPE_DOUBLE:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%.9f", aliasBuffer, *((double *)row[groupFields]));
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%.9f", fields[i].name, *((double *)row[i]));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_BINARY:
|
case TSDB_DATA_TYPE_BINARY:
|
||||||
case TSDB_DATA_TYPE_NCHAR:
|
case TSDB_DATA_TYPE_NCHAR:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%s", aliasBuffer, (char *)row[groupFields]);
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%s", fields[i].name, (char *)row[i]);
|
||||||
break;
|
|
||||||
case TSDB_DATA_TYPE_TIMESTAMP:
|
|
||||||
if (precision == TSDB_TIME_PRECISION_MILLI) {
|
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%ld", aliasBuffer, *((int64_t *) row[groupFields]));
|
|
||||||
} else {
|
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%ld", aliasBuffer, *((int64_t *) row[groupFields]) / 1000);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
snprintf(target, HTTP_GC_TARGET_SIZE, "%s%s", aliasBuffer, "-");
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "%s:%s", fields[i].name, "-");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if(i < num_fields - 1 ){
|
||||||
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, ", ");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
len += snprintf(target + len, HTTP_GC_TARGET_SIZE - len, "}");
|
||||||
|
|
||||||
if (strcmp(target, targetBuffer) != 0) {
|
if (strcmp(target, targetBuffer) != 0) {
|
||||||
// first target not write this section
|
// first target not write this section
|
||||||
|
|
Loading…
Reference in New Issue