diff --git a/src/client/src/tscAsync.c b/src/client/src/tscAsync.c index ef90b184a0183e22350c708057c54256c58c9523..660db08030879339a276a71019ca56f68ad34236 100644 --- a/src/client/src/tscAsync.c +++ b/src/client/src/tscAsync.c @@ -526,8 +526,7 @@ void tscMeterMetaCallBack(void *param, TAOS_RES *res, int code) { /* * NOTE: * transfer the sql function for metric query before get meter/metric meta, - * since in callback functions, - * only tscProcessSql(pStream->pSql) is executed! + * since in callback functions, only tscProcessSql(pStream->pSql) is executed! */ tscTansformSQLFunctionForMetricQuery(&pSql->cmd); tscIncStreamExecutionCount(pSql->pStream); diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 9bd1f123e1f8ad2487cc2a172d9a90e910e8a796..d5935f51c2dcaf933f2327db13f43882e8ed2f0d 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -1586,7 +1586,7 @@ static int32_t setExprInfoForFunctions(SSqlCmd* pCmd, SSchema* pSchema, int32_t int16_t type = 0; int16_t bytes = 0; - char columnName[TSDB_COL_NAME_LEN + 1] = {0}; + char columnName[TSDB_COL_NAME_LEN] = {0}; char msg1[] = "not support column types"; if (functionID == TSDB_FUNC_SPREAD) { @@ -3570,20 +3570,27 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) { pCmd->numOfCols = 1; // only one column } else if (pInfo->sqlType == ALTER_TABLE_TAGS_CHG) { + char msg1[] = "tag name too long"; + char msg2[] = "invalid tag name"; + pCmd->count = TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN; tVariantList* pVarList = pAlterSQL->varList; if (pVarList->nExpr > 2) { return TSDB_CODE_INVALID_SQL; } - if (pVarList->a[0].pVar.nLen > TSDB_COL_NAME_LEN || pVarList->a[1].pVar.nLen > TSDB_COL_NAME_LEN) { - char msg[] = "tag name too long"; - setErrMsg(pCmd, msg, tListLen(msg)); + tVariantListItem* pSrcItem = &pAlterSQL->varList->a[0]; + tVariantListItem* pDstItem = &pAlterSQL->varList->a[1]; + + if (pSrcItem->pVar.nLen >= TSDB_COL_NAME_LEN || pDstItem->pVar.nLen >= TSDB_COL_NAME_LEN) { + setErrMsg(pCmd, msg1, tListLen(msg1)); return TSDB_CODE_INVALID_SQL; } - tVariantListItem* pSrcItem = &pAlterSQL->varList->a[0]; - tVariantListItem* pDstItem = &pAlterSQL->varList->a[1]; + if (pSrcItem->pVar.nType != TSDB_DATA_TYPE_BINARY || pDstItem->pVar.nType != TSDB_DATA_TYPE_BINARY) { + setErrMsg(pCmd, msg2, tListLen(msg2)); + return TSDB_CODE_INVALID_SQL; + } bool srcFound = false; bool dstFound = false; @@ -3592,11 +3599,12 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) { char* tagName = pSchema[tagIdx].name; size_t nameLen = strlen(tagName); - if ((!srcFound) && strncasecmp(tagName, pSrcItem->pVar.pz, nameLen) == 0) { + if ((!srcFound) && (strncasecmp(tagName, pSrcItem->pVar.pz, nameLen) == 0 && (pSrcItem->pVar.nLen == nameLen))) { srcFound = true; } - if ((!dstFound) && strncasecmp(tagName, pDstItem->pVar.pz, nameLen) == 0) { + //todo extract method + if ((!dstFound) && (strncasecmp(tagName, pDstItem->pVar.pz, nameLen) == 0 && (pDstItem->pVar.nLen == nameLen))) { dstFound = true; } } diff --git a/src/system/src/mgmtMeter.c b/src/system/src/mgmtMeter.c index 7c46f9f9a8c65aa521cdf10743be19bfa478bf80..f8ac13061dfad20535a06c203665ad4cc3d4874a 100644 --- a/src/system/src/mgmtMeter.c +++ b/src/system/src/mgmtMeter.c @@ -1621,7 +1621,7 @@ int32_t mgmtMeterModifyTagNameByCol(STabObj *pMetric, uint32_t col, const char * return TSDB_CODE_APP_ERROR; } - mError("Succeed to modify table %s tag column", pMetric->meterId); + mTrace("Succeed to modify table %s tag column", pMetric->meterId); return TSDB_CODE_SUCCESS; }