Merge pull request #7854 from taosdata/fix/TS-263
[TS-263]<fix>: make response of alter consistent with create and drop
This commit is contained in:
commit
10db0c2b68
|
@ -17,6 +17,7 @@
|
|||
#define TDENGINE_HTTP_UTIL_H
|
||||
|
||||
bool httpCheckUsedbSql(char *sql);
|
||||
bool httpCheckAlterSql(char *sql);
|
||||
void httpTimeToString(int32_t t, char *buf, int32_t buflen);
|
||||
|
||||
bool httpUrlMatch(HttpContext *pContext, int32_t pos, char *cmp);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#define _DEFAULT_SOURCE
|
||||
#include "os.h"
|
||||
#include "tglobal.h"
|
||||
#include "tsclient.h"
|
||||
#include "httpLog.h"
|
||||
#include "httpJson.h"
|
||||
#include "httpRestHandle.h"
|
||||
|
@ -62,13 +63,21 @@ void restStartSqlJson(HttpContext *pContext, HttpSqlCmd *cmd, TAOS_RES *result)
|
|||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonToken(jsonBuf, JsonArrStt);
|
||||
|
||||
SSqlObj *pObj = (SSqlObj *) result;
|
||||
bool isAlterSql = (pObj->sqlstr == NULL) ? false : httpCheckAlterSql(pObj->sqlstr);
|
||||
|
||||
if (num_fields == 0) {
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonString(jsonBuf, REST_JSON_AFFECT_ROWS, REST_JSON_AFFECT_ROWS_LEN);
|
||||
} else {
|
||||
for (int32_t i = 0; i < num_fields; ++i) {
|
||||
if (isAlterSql == true) {
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonString(jsonBuf, fields[i].name, (int32_t)strlen(fields[i].name));
|
||||
httpJsonString(jsonBuf, REST_JSON_AFFECT_ROWS, REST_JSON_AFFECT_ROWS_LEN);
|
||||
} else {
|
||||
for (int32_t i = 0; i < num_fields; ++i) {
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonString(jsonBuf, fields[i].name, (int32_t)strlen(fields[i].name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,8 +108,14 @@ void restStartSqlJson(HttpContext *pContext, HttpSqlCmd *cmd, TAOS_RES *result)
|
|||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonToken(jsonBuf, JsonArrStt);
|
||||
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonString(jsonBuf, fields[i].name, (int32_t)strlen(fields[i].name));
|
||||
if (isAlterSql == true) {
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonString(jsonBuf, REST_JSON_AFFECT_ROWS, REST_JSON_AFFECT_ROWS_LEN);
|
||||
} else {
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonString(jsonBuf, fields[i].name, (int32_t)strlen(fields[i].name));
|
||||
}
|
||||
|
||||
httpJsonItemToken(jsonBuf);
|
||||
httpJsonInt(jsonBuf, fields[i].type);
|
||||
httpJsonItemToken(jsonBuf);
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include "httpResp.h"
|
||||
#include "httpSql.h"
|
||||
#include "httpUtil.h"
|
||||
#include "ttoken.h"
|
||||
|
||||
bool httpCheckUsedbSql(char *sql) {
|
||||
if (strstr(sql, "use ") != NULL) {
|
||||
|
@ -29,6 +30,17 @@ bool httpCheckUsedbSql(char *sql) {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool httpCheckAlterSql(char *sql) {
|
||||
int32_t index = 0;
|
||||
|
||||
do {
|
||||
SStrToken t0 = tStrGetToken(sql, &index, false);
|
||||
if (t0.type != TK_LP) {
|
||||
return t0.type == TK_ALTER;
|
||||
}
|
||||
} while (1);
|
||||
}
|
||||
|
||||
void httpTimeToString(int32_t t, char *buf, int32_t buflen) {
|
||||
memset(buf, 0, (size_t)buflen);
|
||||
char ts[32] = {0};
|
||||
|
|
Loading…
Reference in New Issue