Merge remote-tracking branch 'origin/hotfix/test' into hotfix/crash
This commit is contained in:
commit
c9feaf286d
|
@ -90,6 +90,7 @@ static int32_t validateSqlFunctionInStreamSql(SSqlCmd* pCmd, SQueryInfo* pQueryI
|
|||
static int32_t buildArithmeticExprString(tSQLExpr* pExpr, char** exprString);
|
||||
static int32_t validateFunctionsInIntervalOrGroupbyQuery(SSqlCmd* pCmd, SQueryInfo* pQueryInfo);
|
||||
static int32_t validateArithmeticSQLExpr(SSqlCmd* pCmd, tSQLExpr* pExpr, SQueryInfo* pQueryInfo, SColumnList* pList, int32_t* type);
|
||||
static int32_t validateEp(char* ep);
|
||||
static int32_t validateDNodeConfig(tDCLSQL* pOptions);
|
||||
static int32_t validateLocalConfig(tDCLSQL* pOptions);
|
||||
static int32_t validateColumnName(char* name);
|
||||
|
@ -359,6 +360,7 @@ int32_t tscToSQLCmd(SSqlObj* pSql, struct SSqlInfo* pInfo) {
|
|||
|
||||
case TSDB_SQL_CFG_DNODE: {
|
||||
const char* msg2 = "invalid configure options or values";
|
||||
const char* msg3 = "invalid dnode ep";
|
||||
|
||||
/* validate the ip address */
|
||||
tDCLSQL* pDCL = pInfo->pDCLInfo;
|
||||
|
@ -375,6 +377,10 @@ int32_t tscToSQLCmd(SSqlObj* pSql, struct SSqlInfo* pInfo) {
|
|||
|
||||
strncpy(pCfg->ep, pDCL->a[0].z, pDCL->a[0].n);
|
||||
|
||||
if (validateEp(pCfg->ep) != TSDB_CODE_SUCCESS) {
|
||||
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg3);
|
||||
}
|
||||
|
||||
strncpy(pCfg->config, pDCL->a[1].z, pDCL->a[1].n);
|
||||
|
||||
if (pDCL->nTokens == 3) {
|
||||
|
@ -4629,6 +4635,24 @@ typedef struct SDNodeDynConfOption {
|
|||
int32_t len; // name string length
|
||||
} SDNodeDynConfOption;
|
||||
|
||||
|
||||
int32_t validateEp(char* ep) {
|
||||
char buf[TSDB_EP_LEN + 1] = {0};
|
||||
tstrncpy(buf, ep, TSDB_EP_LEN);
|
||||
|
||||
char *pos = strchr(buf, ':');
|
||||
if (NULL == pos) {
|
||||
return TSDB_CODE_TSC_INVALID_SQL;
|
||||
}
|
||||
|
||||
uint16_t port = atoi(pos+1);
|
||||
if (0 == port) {
|
||||
return TSDB_CODE_TSC_INVALID_SQL;
|
||||
}
|
||||
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
int32_t validateDNodeConfig(tDCLSQL* pOptions) {
|
||||
if (pOptions->nTokens < 2 || pOptions->nTokens > 3) {
|
||||
return TSDB_CODE_TSC_INVALID_SQL;
|
||||
|
|
|
@ -40,7 +40,7 @@ struct arguments {
|
|||
static error_t parse_opt(int key, char *arg, struct argp_state *state) {
|
||||
struct arguments *arguments = state->input;
|
||||
switch (key) {
|
||||
case 'w':
|
||||
case 'r':
|
||||
arguments->dataDir = arg;
|
||||
break;
|
||||
case 'd':
|
||||
|
|
|
@ -40,8 +40,10 @@ class TDTestCase:
|
|||
ret = tdSql.query('select server_status() as result')
|
||||
tdSql.checkData(0, 0, 1)
|
||||
|
||||
ret = tdSql.execute('alter dnode 127.0.0.1 debugFlag 135')
|
||||
tdLog.info("alter dnode ret: %d" % ret)
|
||||
ret = tdSql.query('show dnodes')
|
||||
|
||||
ret = tdSql.execute('alter dnode "%s" debugFlag 135' % tdSql.getData(0,1))
|
||||
tdLog.info('alter dnode "%s" debugFlag 135 -> ret: %d' % (tdSql.getData(0, 1), ret))
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
|
|
Loading…
Reference in New Issue