diff --git a/src/client/src/tscLocal.c b/src/client/src/tscLocal.c index eaf9c21bfbf667e8e16f16857afb118f87fada8a..a880f4487ef73199a0c6198894a7d4d647d7dbe1 100644 --- a/src/client/src/tscLocal.c +++ b/src/client/src/tscLocal.c @@ -132,14 +132,14 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) { for (int32_t i = 0; i < numOfRows; ++i) { TAOS_FIELD *pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 0); char* dst = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 0) * totalNumOfRows + pField->bytes * i; - STR_WITH_MAXSIZE_TO_VARSTR(dst, pSchema[i].name, TSDB_COL_NAME_LEN - 1); + STR_WITH_MAXSIZE_TO_VARSTR(dst, pSchema[i].name, pField->bytes); char *type = tDataTypeDesc[pSchema[i].type].aName; pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 1); dst = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 1) * totalNumOfRows + pField->bytes * i; - STR_TO_VARSTR(dst, type); + STR_WITH_MAXSIZE_TO_VARSTR(dst, type, pField->bytes); int32_t bytes = pSchema[i].bytes; if (pSchema[i].type == TSDB_DATA_TYPE_BINARY || pSchema[i].type == TSDB_DATA_TYPE_NCHAR) { @@ -157,7 +157,7 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) { if (i >= tscGetNumOfColumns(pMeta) && tscGetNumOfTags(pMeta) != 0) { char* output = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 3) * totalNumOfRows + pField->bytes * i; const char *src = "TAG"; - STR_WITH_SIZE_TO_VARSTR(output, src, strlen(src)); + STR_WITH_MAXSIZE_TO_VARSTR(output, src, pField->bytes); } } @@ -171,7 +171,7 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) { // field name TAOS_FIELD *pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 0); char* output = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 0) * totalNumOfRows + pField->bytes * i; - STR_WITH_MAXSIZE_TO_VARSTR(output, pSchema[i].name, TSDB_COL_NAME_LEN - 1); + STR_WITH_MAXSIZE_TO_VARSTR(output, pSchema[i].name, pField->bytes); // type name pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 1); @@ -193,7 +193,7 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) { pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 3); char *target = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 3) * totalNumOfRows + pField->bytes * i; const char *src = "TAG"; - STR_WITH_SIZE_TO_VARSTR(target, src, strlen(src)); + STR_WITH_MAXSIZE_TO_VARSTR(target, src, pField->bytes); pTagValue += pSchema[i].bytes; } @@ -220,15 +220,15 @@ static int32_t tscBuildTableSchemaResultFields(SSqlObj *pSql, int32_t numOfCols, rowLen += ((TSDB_COL_NAME_LEN - 1) + VARSTR_HEADER_SIZE); - f.bytes = typeColLength; + f.bytes = typeColLength + VARSTR_HEADER_SIZE; f.type = TSDB_DATA_TYPE_BINARY; tstrncpy(f.name, "Type", sizeof(f.name)); pInfo = tscFieldInfoAppend(&pQueryInfo->fieldsInfo, &f); - pInfo->pSqlExpr = tscSqlExprAppend(pQueryInfo, TSDB_FUNC_TS_DUMMY, &index, TSDB_DATA_TYPE_BINARY, typeColLength, + pInfo->pSqlExpr = tscSqlExprAppend(pQueryInfo, TSDB_FUNC_TS_DUMMY, &index, TSDB_DATA_TYPE_BINARY, typeColLength + VARSTR_HEADER_SIZE, typeColLength, false); - rowLen += typeColLength; + rowLen += typeColLength + VARSTR_HEADER_SIZE; f.bytes = sizeof(int32_t); f.type = TSDB_DATA_TYPE_INT; @@ -240,15 +240,15 @@ static int32_t tscBuildTableSchemaResultFields(SSqlObj *pSql, int32_t numOfCols, rowLen += sizeof(int32_t); - f.bytes = noteColLength; + f.bytes = noteColLength + VARSTR_HEADER_SIZE; f.type = TSDB_DATA_TYPE_BINARY; tstrncpy(f.name, "Note", sizeof(f.name)); pInfo = tscFieldInfoAppend(&pQueryInfo->fieldsInfo, &f); - pInfo->pSqlExpr = tscSqlExprAppend(pQueryInfo, TSDB_FUNC_TS_DUMMY, &index, TSDB_DATA_TYPE_BINARY, noteColLength, + pInfo->pSqlExpr = tscSqlExprAppend(pQueryInfo, TSDB_FUNC_TS_DUMMY, &index, TSDB_DATA_TYPE_BINARY, noteColLength + VARSTR_HEADER_SIZE, noteColLength, false); - rowLen += noteColLength; + rowLen += noteColLength + VARSTR_HEADER_SIZE; return rowLen; } diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 64c38f011cb2af6f9b73b13e88b3398de8f8c676..db12693c2925228b9947bd650a673c9b3de994e0 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -6082,11 +6082,14 @@ int32_t exprTreeFromSqlExpr(tExprNode **pExpr, const tSQLExpr* pSqlExpr, SArray* } } + if ((*pExpr)->_node.optr != TSDB_RELATION_EQUAL && (*pExpr)->_node.optr != TSDB_RELATION_NOT_EQUAL) { if (pRight->nodeType == TSQL_NODE_VALUE) { - if ( pRight->pVal->nType == TSDB_DATA_TYPE_BOOL - || pRight->pVal->nType == TSDB_DATA_TYPE_BINARY - || pRight->pVal->nType == TSDB_DATA_TYPE_NCHAR) { + if (pRight->pVal->nType == TSDB_DATA_TYPE_BOOL) { + return TSDB_CODE_TSC_INVALID_SQL; + } + if ((pRight->pVal->nType == TSDB_DATA_TYPE_BINARY || pRight->pVal->nType == TSDB_DATA_TYPE_NCHAR) + && (*pExpr)->_node.optr != TSDB_RELATION_LIKE) { return TSDB_CODE_TSC_INVALID_SQL; } } diff --git a/src/client/tests/timeParseTest.cpp b/src/client/tests/timeParseTest.cpp index 1f53d50c1f3b4f57571508060db4f19616eb49de..b37be0485b037f4f68deb7003ed3574cee5eb8db 100644 --- a/src/client/tests/timeParseTest.cpp +++ b/src/client/tests/timeParseTest.cpp @@ -24,19 +24,19 @@ TEST(testCase, parse_time) { int64_t time = 0, time1 = 0; - taosParseTime(t1, &time, strlen(t1), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t1, &time, strlen(t1), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1514739661952); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, timezone * MILLISECOND_PER_SECOND); char t2[] = "2018-1-1T1:1:1.952Z"; - taosParseTime(t2, &time, strlen(t2), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t2, &time, strlen(t2), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1514739661952 + 28800000); char t3[] = "2018-1-1 1:01:01.952"; - taosParseTime(t3, &time, strlen(t3), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t3, &time, strlen(t3), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1514739661952); char t4[] = "2018-1-1 1:01:01.9"; @@ -45,122 +45,122 @@ TEST(testCase, parse_time) { char t7[] = "2018-01-01 01:01:01.9"; char t8[] = "2018-01-01 01:01:01.9007865"; - taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); - taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); - taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); - taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); char t9[] = "2017-4-3 1:1:2.980"; char t10[] = "2017-4-3T2:1:2.98+9:00"; - taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); char t11[] = "2017-4-3T2:1:2.98+09:00"; - taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); char t12[] = "2017-4-3T2:1:2.98+0900"; - taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); taos_options(TSDB_OPTION_TIMEZONE, "UTC"); deltaToUtcInitOnce(); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 0); taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai"); deltaToUtcInitOnce(); char t14[] = "1970-1-1T0:0:0Z"; - taosParseTime(t14, &time, strlen(t14), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t14, &time, strlen(t14), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 0); char t40[] = "1970-1-1 0:0:0.999999999"; - taosParseTime(t40, &time, strlen(t40), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t40, &time, strlen(t40), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 999 + timezone * MILLISECOND_PER_SECOND); char t41[] = "1997-1-1 0:0:0.999999999"; - taosParseTime(t41, &time, strlen(t41), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t41, &time, strlen(t41), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 852048000999); int64_t k = timezone; char t42[] = "1997-1-1T0:0:0.999999999Z"; - taosParseTime(t42, &time, strlen(t42), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t42, &time, strlen(t42), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 852048000999 - timezone * MILLISECOND_PER_SECOND); //////////////////////////////////////////////////////////////////// // illegal timestamp format char t15[] = "2017-12-33 0:0:0"; - EXPECT_EQ(taosParseTime(t15, &time, strlen(t15), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t15, &time, strlen(t15), TSDB_TIME_PRECISION_MILLI, 0), -1); char t16[] = "2017-12-31 99:0:0"; - EXPECT_EQ(taosParseTime(t16, &time, strlen(t16), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t16, &time, strlen(t16), TSDB_TIME_PRECISION_MILLI, 0), -1); char t17[] = "2017-12-31T9:0:0"; - EXPECT_EQ(taosParseTime(t17, &time, strlen(t17), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t17, &time, strlen(t17), TSDB_TIME_PRECISION_MILLI, 0), -1); char t18[] = "2017-12-31T9:0:0.Z"; - EXPECT_EQ(taosParseTime(t18, &time, strlen(t18), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t18, &time, strlen(t18), TSDB_TIME_PRECISION_MILLI, 0), -1); char t19[] = "2017-12-31 9:0:0.-1"; - EXPECT_EQ(taosParseTime(t19, &time, strlen(t19), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t19, &time, strlen(t19), TSDB_TIME_PRECISION_MILLI, 0), -1); char t20[] = "2017-12-31 9:0:0.1+12:99"; - EXPECT_EQ(taosParseTime(t20, &time, strlen(t20), TSDB_TIME_PRECISION_MILLI), 0); + EXPECT_EQ(taosParseTime(t20, &time, strlen(t20), TSDB_TIME_PRECISION_MILLI, 0), 0); EXPECT_EQ(time, 1514682000100); char t21[] = "2017-12-31T9:0:0.1+12:99"; - EXPECT_EQ(taosParseTime(t21, &time, strlen(t21), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t21, &time, strlen(t21), TSDB_TIME_PRECISION_MILLI, 0), -1); char t22[] = "2017-12-31 9:0:0.1+13:1"; - EXPECT_EQ(taosParseTime(t22, &time, strlen(t22), TSDB_TIME_PRECISION_MILLI), 0); + EXPECT_EQ(taosParseTime(t22, &time, strlen(t22), TSDB_TIME_PRECISION_MILLI, 0), 0); char t23[] = "2017-12-31T9:0:0.1+13:1"; - EXPECT_EQ(taosParseTime(t23, &time, strlen(t23), TSDB_TIME_PRECISION_MILLI), 0); + EXPECT_EQ(taosParseTime(t23, &time, strlen(t23), TSDB_TIME_PRECISION_MILLI, 0), 0); //======================== add some case ============================// char b1[] = "9999-12-31 23:59:59.999"; - taosParseTime(b1, &time, strlen(b1), TSDB_TIME_PRECISION_MILLI); + taosParseTime(b1, &time, strlen(b1), TSDB_TIME_PRECISION_MILLI,0); EXPECT_EQ(time, 253402271999999); char b2[] = "2020-01-01 01:01:01.321"; - taosParseTime(b2, &time, strlen(b2), TSDB_TIME_PRECISION_MILLI); + taosParseTime(b2, &time, strlen(b2), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1577811661321); taos_options(TSDB_OPTION_TIMEZONE, "America/New_York"); deltaToUtcInitOnce(); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 18000 * MILLISECOND_PER_SECOND); taos_options(TSDB_OPTION_TIMEZONE, "Asia/Tokyo"); deltaToUtcInitOnce(); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, -32400 * MILLISECOND_PER_SECOND); taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai"); deltaToUtcInitOnce(); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, -28800 * MILLISECOND_PER_SECOND); } diff --git a/src/common/inc/tdataformat.h b/src/common/inc/tdataformat.h index ea0eb9ff29b1cd581981f7f535b776d9700e3c30..3ad2df8d3a63f9d7c01c6bf73b843844faf850be 100644 --- a/src/common/inc/tdataformat.h +++ b/src/common/inc/tdataformat.h @@ -36,7 +36,7 @@ extern "C" { #define STR_WITH_MAXSIZE_TO_VARSTR(x, str, _maxs) \ do { \ - char *_e = stpncpy(varDataVal(x), (str), (_maxs)); \ + char *_e = stpncpy(varDataVal(x), (str), (_maxs)-VARSTR_HEADER_SIZE); \ varDataSetLen(x, (_e - (x)-VARSTR_HEADER_SIZE)); \ } while (0) diff --git a/src/common/src/tdataformat.c b/src/common/src/tdataformat.c index 77e91acc14f852f9e55d72f13532ea68a26078c5..40cdac9833fb37569c5e36e80dd53d5b55b6aac8 100644 --- a/src/common/src/tdataformat.c +++ b/src/common/src/tdataformat.c @@ -588,7 +588,7 @@ int tdSetKVRowDataOfCol(SKVRow *orow, int16_t colId, int8_t type, void *value) { if (kvRowNCols(nrow) - colIdx - 1 > 0) { for (int i = colIdx + 1; i < kvRowNCols(nrow); i++) { kvRowColIdxAt(nrow, i)->colId = kvRowColIdxAt(row, i)->colId; - kvRowColIdxAt(nrow, i)->offset += diff; + kvRowColIdxAt(nrow, i)->offset = kvRowColIdxAt(row, i)->offset + diff; } memcpy(kvRowColVal(nrow, kvRowColIdxAt(nrow, colIdx + 1)), kvRowColVal(row, kvRowColIdxAt(row, colIdx + 1)), POINTER_DISTANCE(kvRowEnd(row), kvRowColVal(row, kvRowColIdxAt(row, colIdx + 1)))); diff --git a/src/dnode/src/dnodeMgmt.c b/src/dnode/src/dnodeMgmt.c index d35e82fa47232b2d323d80721a9f08f1115d3ee1..30fdd21b99b4ffaf413a27d957b391bfabecc0dd 100644 --- a/src/dnode/src/dnodeMgmt.c +++ b/src/dnode/src/dnodeMgmt.c @@ -616,6 +616,16 @@ static void dnodeSendStatusMsg(void *handle, void *tmrId) { pStatus->numOfCores = htons((uint16_t) tsNumOfCores); pStatus->diskAvailable = tsAvailDataDirGB; pStatus->alternativeRole = (uint8_t) tsAlternativeRole; + + // fill cluster cfg parameters + pStatus->clusterCfg.numOfMnodes = tsNumOfMnodes; + pStatus->clusterCfg.mnodeEqualVnodeNum = tsMnodeEqualVnodeNum; + pStatus->clusterCfg.offlineThreshold = tsOfflineThreshold; + pStatus->clusterCfg.statusInterval = tsStatusInterval; + strcpy(pStatus->clusterCfg.arbitrator, tsArbitrator); + strcpy(pStatus->clusterCfg.timezone, tsTimezone); + strcpy(pStatus->clusterCfg.locale, tsLocale); + strcpy(pStatus->clusterCfg.charset, tsCharset); vnodeBuildStatusMsg(pStatus); contLen = sizeof(SDMStatusMsg) + pStatus->openVnodes * sizeof(SVnodeLoad); diff --git a/src/inc/taoserror.h b/src/inc/taoserror.h index ac2af757426cded4dcdab58c7245808d53a5d06e..df9992d53a5111a4000a19eb5998892eb2155372 100644 --- a/src/inc/taoserror.h +++ b/src/inc/taoserror.h @@ -121,6 +121,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_DNODE_NOT_EXIST, 0, 0x0331, "mnode dnod TAOS_DEFINE_ERROR(TSDB_CODE_MND_VGROUP_NOT_EXIST, 0, 0x0332, "mnode vgroup not exist") TAOS_DEFINE_ERROR(TSDB_CODE_MND_NO_REMOVE_MASTER, 0, 0x0333, "mnode cant not remove master") TAOS_DEFINE_ERROR(TSDB_CODE_MND_NO_ENOUGH_DNODES, 0, 0x0334, "mnode no enough dnodes") +TAOS_DEFINE_ERROR(TSDB_CODE_MND_CLUSTER_CFG_INCONSISTENT, 0, 0x0335, "mnode cluster cfg inconsistent") TAOS_DEFINE_ERROR(TSDB_CODE_MND_ACCT_ALREADY_EXIST, 0, 0x0340, "mnode accounts already exist") TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_ACCT, 0, 0x0341, "mnode invalid account") diff --git a/src/inc/taosmsg.h b/src/inc/taosmsg.h index 8e732f0cac3fd223a00c19e5fff7106e0946633d..43e34b6ce2364dd5bf1950dea57d47e9ff72dfee 100644 --- a/src/inc/taosmsg.h +++ b/src/inc/taosmsg.h @@ -557,18 +557,30 @@ typedef struct { } SDMMnodeInfos; typedef struct { - uint32_t version; - int32_t dnodeId; - char dnodeEp[TSDB_EP_LEN]; - uint32_t moduleStatus; - uint32_t lastReboot; // time stamp for last reboot - uint16_t numOfTotalVnodes; // from config file - uint16_t openVnodes; - uint16_t numOfCores; - float diskAvailable; // GB - uint8_t alternativeRole; - uint8_t reserve[15]; - SVnodeLoad load[]; + int32_t numOfMnodes; // tsNumOfMnodes + int32_t mnodeEqualVnodeNum; // tsMnodeEqualVnodeNum + int32_t offlineThreshold; // tsOfflineThreshold + int32_t statusInterval; // tsStatusInterval + char arbitrator[TSDB_EP_LEN]; // tsArbitrator + char timezone[64]; // tsTimezone + char locale[TSDB_LOCALE_LEN]; // tsLocale + char charset[TSDB_LOCALE_LEN]; // tsCharset +} SClusterCfg; + +typedef struct { + uint32_t version; + int32_t dnodeId; + char dnodeEp[TSDB_EP_LEN]; + uint32_t moduleStatus; + uint32_t lastReboot; // time stamp for last reboot + uint16_t numOfTotalVnodes; // from config file + uint16_t openVnodes; + uint16_t numOfCores; + float diskAvailable; // GB + uint8_t alternativeRole; + uint8_t reserve[15]; + SClusterCfg clusterCfg; + SVnodeLoad load[]; } SDMStatusMsg; typedef struct { diff --git a/src/mnode/src/mnodeDb.c b/src/mnode/src/mnodeDb.c index 69783defc7aa8065f8426a534e4a1c6dbc172f54..aeb6f4beb9e7a51b92f4c878454f41e82fe18597 100644 --- a/src/mnode/src/mnodeDb.c +++ b/src/mnode/src/mnodeDb.c @@ -613,7 +613,7 @@ static int32_t mnodeRetrieveDbs(SShowObj *pShow, char *data, int32_t rows, void pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; char* name = mnodeGetDbStr(pDb->name); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, name, TSDB_DB_NAME_LEN - 1); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, name, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; diff --git a/src/mnode/src/mnodeDnode.c b/src/mnode/src/mnodeDnode.c index d2af86badb2869b47501a1fdc47e464554b2e83f..fda3f48da5fdd7af0f1782d29fb07812539ca82c 100644 --- a/src/mnode/src/mnodeDnode.c +++ b/src/mnode/src/mnodeDnode.c @@ -277,6 +277,20 @@ static void mnodeProcessCfgDnodeMsgRsp(SRpcMsg *rpcMsg) { mPrint("cfg dnode rsp is received"); } +static bool mnodeCheckClusterCfgPara(const SClusterCfg *clusterCfg) { + if (clusterCfg->numOfMnodes != tsNumOfMnodes) return false; + if (clusterCfg->mnodeEqualVnodeNum != tsMnodeEqualVnodeNum) return false; + if (clusterCfg->offlineThreshold != tsOfflineThreshold) return false; + if (clusterCfg->statusInterval != tsStatusInterval) return false; + + if (0 != strncasecmp(clusterCfg->arbitrator, tsArbitrator, strlen(tsArbitrator))) return false; + if (0 != strncasecmp(clusterCfg->timezone, tsTimezone, strlen(tsTimezone))) return false; + if (0 != strncasecmp(clusterCfg->locale, tsLocale, strlen(tsLocale))) return false; + if (0 != strncasecmp(clusterCfg->charset, tsCharset, strlen(tsCharset))) return false; + + return true; +} + static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) { SDMStatusMsg *pStatus = pMsg->rpcMsg.pCont; pStatus->dnodeId = htonl(pStatus->dnodeId); @@ -312,7 +326,6 @@ static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) { pDnode->alternativeRole = pStatus->alternativeRole; pDnode->totalVnodes = pStatus->numOfTotalVnodes; pDnode->moduleStatus = pStatus->moduleStatus; - pDnode->lastAccess = tsAccessSquence; if (pStatus->dnodeId == 0) { mTrace("dnode:%d %s, first access", pDnode->dnodeId, pDnode->dnodeEp); @@ -338,6 +351,14 @@ static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) { } if (pDnode->status == TAOS_DN_STATUS_OFFLINE) { + // Verify whether the cluster parameters are consistent when status change from offline to ready + bool ret = mnodeCheckClusterCfgPara(&(pStatus->clusterCfg)); + if (false == ret) { + mnodeDecDnodeRef(pDnode); + mError("dnode %s cluster cfg parameters inconsistent", pStatus->dnodeEp); + return TSDB_CODE_MND_CLUSTER_CFG_INCONSISTENT; + } + mTrace("dnode:%d, from offline to online", pDnode->dnodeId); pDnode->status = TAOS_DN_STATUS_READY; balanceUpdateMnode(); @@ -352,6 +373,8 @@ static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) { return TSDB_CODE_MND_OUT_OF_MEMORY; } + pDnode->lastAccess = tsAccessSquence; + mnodeGetMnodeInfos(&pRsp->mnodes); pRsp->dnodeCfg.dnodeId = htonl(pDnode->dnodeId); @@ -570,7 +593,7 @@ static int32_t mnodeRetrieveDnodes(SShowObj *pShow, char *data, int32_t rows, vo cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDnode->dnodeEp, pShow->bytes[cols] - VARSTR_HEADER_SIZE); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDnode->dnodeEp, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; diff --git a/src/mnode/src/mnodeMnode.c b/src/mnode/src/mnodeMnode.c index 43ee45f3b1683790858ce58db7afe4073349e2d0..41bd6974dbe9eb422b3b72ec650bf06b995276df 100644 --- a/src/mnode/src/mnodeMnode.c +++ b/src/mnode/src/mnodeMnode.c @@ -401,9 +401,9 @@ static int32_t mnodeRetrieveMnodes(SShowObj *pShow, char *data, int32_t rows, vo SDnodeObj *pDnode = mnodeGetDnode(pMnode->mnodeId); if (pDnode != NULL) { - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDnode->dnodeEp, pShow->bytes[cols] - VARSTR_HEADER_SIZE); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDnode->dnodeEp, pShow->bytes[cols]); } else { - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, "invalid ep", pShow->bytes[cols] - VARSTR_HEADER_SIZE); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, "invalid ep", pShow->bytes[cols]); } mnodeDecDnodeRef(pDnode); @@ -411,7 +411,7 @@ static int32_t mnodeRetrieveMnodes(SShowObj *pShow, char *data, int32_t rows, vo pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; char* roles = mnodeGetMnodeRoleStr(pMnode->role); - STR_TO_VARSTR(pWrite, roles); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, roles, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; diff --git a/src/mnode/src/mnodeProfile.c b/src/mnode/src/mnodeProfile.c index 7552ea5c25c136106ff998201500d299949d5932..31ca47929c74e8df1a659bd33e07a76afe1f6dbd 100644 --- a/src/mnode/src/mnodeProfile.c +++ b/src/mnode/src/mnodeProfile.c @@ -235,14 +235,12 @@ static int32_t mnodeRetrieveConns(SShowObj *pShow, char *data, int32_t rows, voi cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - size_t size = sizeof(pConnObj->user); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port); - size = sizeof(ipStr); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; @@ -356,18 +354,16 @@ static int32_t mnodeRetrieveQueries(SShowObj *pShow, char *data, int32_t rows, v snprintf(ipStr, QUERY_ID_SIZE + 1, "%u:%u", pConnObj->connId, htonl(pDesc->queryId)); pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, QUERY_ID_SIZE); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - size_t size = sizeof(pConnObj->user); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port); - size = sizeof(ipStr); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; @@ -379,7 +375,7 @@ static int32_t mnodeRetrieveQueries(SShowObj *pShow, char *data, int32_t rows, v cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDesc->sql, TSDB_SHOW_SQL_LEN); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDesc->sql, pShow->bytes[cols]); cols++; numOfRows++; @@ -479,18 +475,16 @@ static int32_t mnodeRetrieveStreams(SShowObj *pShow, char *data, int32_t rows, v snprintf(ipStr, QUERY_ID_SIZE + 1, "%u:%u", pConnObj->connId, htonl(pDesc->streamId)); pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, QUERY_ID_SIZE); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - size_t size = sizeof(pConnObj->user); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port); - size = sizeof(ipStr); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; @@ -506,7 +500,7 @@ static int32_t mnodeRetrieveStreams(SShowObj *pShow, char *data, int32_t rows, v cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDesc->sql, TSDB_SHOW_SQL_LEN); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDesc->sql, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; diff --git a/src/mnode/src/mnodeTable.c b/src/mnode/src/mnodeTable.c index 0ff198bf8f709cd48eb238e94c31ff3f33a2ea33..a2deeaa489faee88f1ad4906466fa6c9b651d383 100644 --- a/src/mnode/src/mnodeTable.c +++ b/src/mnode/src/mnodeTable.c @@ -2103,7 +2103,7 @@ static int32_t mnodeGetShowTableMeta(STableMetaMsg *pMeta, SShowObj *pShow, void cols++; SSchema tbCol = tGetTableNameColumnSchema(); - pShow->bytes[cols] = tbCol.bytes; + pShow->bytes[cols] = tbCol.bytes + VARSTR_HEADER_SIZE; pSchema[cols].type = tbCol.type; strcpy(pSchema[cols].name, "stable_name"); pSchema[cols].bytes = htons(pShow->bytes[cols]); @@ -2161,7 +2161,7 @@ static int32_t mnodeRetrieveShowTables(SShowObj *pShow, char *data, int32_t rows char *pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, tableName, sizeof(tableName) - 1); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, tableName, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; @@ -2182,7 +2182,7 @@ static int32_t mnodeRetrieveShowTables(SShowObj *pShow, char *data, int32_t rows memset(tableName, 0, sizeof(tableName)); if (pTable->info.type == TSDB_CHILD_TABLE) { mnodeExtractTableName(pTable->superTable->info.tableId, tableName); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, tableName, sizeof(tableName) - 1); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, tableName, pShow->bytes[cols]); } cols++; @@ -2352,7 +2352,7 @@ static int32_t mnodeRetrieveStreamTables(SShowObj *pShow, char *data, int32_t ro char *pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, tableName, sizeof(tableName) - 1); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, tableName, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; @@ -2364,7 +2364,7 @@ static int32_t mnodeRetrieveStreamTables(SShowObj *pShow, char *data, int32_t ro cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pTable->sql, TSDB_MAX_SQL_SHOW_LEN); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pTable->sql, pShow->bytes[cols]); cols++; numOfRows++; diff --git a/src/mnode/src/mnodeUser.c b/src/mnode/src/mnodeUser.c index 95457c83a0c81871955df2ac0b729171dcc5a2ae..053ea3ef75471a6ceca058e511b219275b8974b4 100644 --- a/src/mnode/src/mnodeUser.c +++ b/src/mnode/src/mnodeUser.c @@ -315,8 +315,7 @@ static int32_t mnodeRetrieveUsers(SShowObj *pShow, char *data, int32_t rows, voi cols = 0; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - size_t size = sizeof(pUser->user); - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pUser->user, size); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pUser->user, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; @@ -337,7 +336,7 @@ static int32_t mnodeRetrieveUsers(SShowObj *pShow, char *data, int32_t rows, voi cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pUser->acct, sizeof(pUser->user)); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pUser->acct, pShow->bytes[cols]); cols++; numOfRows++; diff --git a/src/mnode/src/mnodeVgroup.c b/src/mnode/src/mnodeVgroup.c index 25b9daf00c446799f322cac399925b7a4861a8eb..bc6c2665c875d17c832cbe75008dc028a9321433 100644 --- a/src/mnode/src/mnodeVgroup.c +++ b/src/mnode/src/mnodeVgroup.c @@ -479,12 +479,12 @@ int32_t mnodeRetrieveVgroups(SShowObj *pShow, char *data, int32_t rows, void *pC if (pDnode != NULL) { pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; - STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDnode->dnodeEp, pShow->bytes[cols] - VARSTR_HEADER_SIZE); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pDnode->dnodeEp, pShow->bytes[cols]); cols++; pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; char *role = mnodeGetMnodeRoleStr(pVgroup->vnodeGid[i].role); - STR_TO_VARSTR(pWrite, role); + STR_WITH_MAXSIZE_TO_VARSTR(pWrite, role, pShow->bytes[cols]); cols++; } else { pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; diff --git a/src/plugins/http/src/httpSession.c b/src/plugins/http/src/httpSession.c index 2b0735bfaf58c834d912942847e429bd828a4a33..c1e33706d5d53df112408e73867dde2cede3642b 100644 --- a/src/plugins/http/src/httpSession.c +++ b/src/plugins/http/src/httpSession.c @@ -29,7 +29,8 @@ void httpCreateSession(HttpContext *pContext, void *taos) { pthread_mutex_lock(&server->serverMutex); - HttpSession session = {0}; + HttpSession session; + memset(&session, 0, sizeof(HttpSession)); session.taos = taos; session.refCount = 1; snprintf(session.id, HTTP_SESSION_ID_LEN, "%s.%s", pContext->user, pContext->pass); diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index a1af147b62c6658f1e1032d341679e83e81d7984..3e0ff479e9c4afce1b91dfa42464589bd6bf4536 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -847,7 +847,7 @@ static void blockwiseApplyFunctions(SQueryRuntimeEnv *pRuntimeEnv, SDataStatis * } int32_t step = GET_FORWARD_DIRECTION_FACTOR(pQuery->order.order); - if (isIntervalQuery(pQuery)) { + if (isIntervalQuery(pQuery) && tsCols != NULL) { int32_t offset = GET_COL_DATA_POS(pQuery, 0, step); TSKEY ts = tsCols[offset]; @@ -4263,7 +4263,8 @@ static void sequentialTableProcess(SQInfo *pQInfo) { assert(taosArrayGetSize(s) >= 1); setTagVal(pRuntimeEnv, (STableId*) taosArrayGet(s, 0), pQInfo->tsdb); - + + taosArrayDestroy(s); if (isFirstLastRowQuery(pQuery)) { assert(taosArrayGetSize(s) == 1); } @@ -4328,6 +4329,7 @@ static void sequentialTableProcess(SQInfo *pQInfo) { SWindowResInfo *pWindowResInfo = &pRuntimeEnv->windowResInfo; // no results generated for current group, continue to try the next group + taosArrayDestroy(s); if (pWindowResInfo->size <= 0) { continue; } diff --git a/src/query/src/qast.c b/src/query/src/qast.c index 1db965e8a3abb54008a955d3563dce0a2576060e..8d2202563d324de926629e41ad562f8bd4f3873b 100644 --- a/src/query/src/qast.c +++ b/src/query/src/qast.c @@ -496,7 +496,6 @@ static int32_t setQueryCond(tQueryInfo *queryColInfo, SQueryCond* pCond) { printf("relation is like\n"); assert(0); } - return TSDB_CODE_SUCCESS; } @@ -511,7 +510,7 @@ static void tQueryIndexColumn(SSkipList* pSkipList, tQueryInfo* pQueryInfo, SArr if (cond.start != NULL) { iter = tSkipListCreateIterFromVal(pSkipList, (char*) cond.start->v, pSkipList->keyInfo.type, TSDB_ORDER_ASC); } else { - iter = tSkipListCreateIterFromVal(pSkipList, (char*) cond.end->v, pSkipList->keyInfo.type, TSDB_ORDER_DESC); + iter = tSkipListCreateIterFromVal(pSkipList, (char*)(cond.end ? cond.end->v: NULL), pSkipList->keyInfo.type, TSDB_ORDER_DESC); } if (cond.start != NULL) { @@ -601,6 +600,9 @@ static void tQueryIndexColumn(SSkipList* pSkipList, tQueryInfo* pQueryInfo, SArr } } } + free(cond.start); + free(cond.end); + tSkipListDestroyIter(iter); } int32_t merge(SArray *pLeft, SArray *pRight, SArray *pFinalRes) { @@ -748,6 +750,7 @@ static void exprTreeTraverseImpl(tExprNode *pExpr, SArray *pResult, SExprTravers } taosArrayCopy(pResult, array); + taosArrayDestroy(array); } static void tSQLBinaryTraverseOnSkipList(tExprNode *pExpr, SArray *pResult, SSkipList *pSkipList, SExprTraverseSupp *param ) { @@ -1182,4 +1185,4 @@ tExprNode* exprTreeFromTableName(const char* tbnameCond) { CLEANUP_EXECUTE_TO(anchor, false); return expr; -} \ No newline at end of file +} diff --git a/src/query/src/qextbuffer.c b/src/query/src/qextbuffer.c index 6351b850d879efc2eb4f5bc11f44a29fb5f63ab5..e0a90e04082706eb720960e88356df466dbd017f 100644 --- a/src/query/src/qextbuffer.c +++ b/src/query/src/qextbuffer.c @@ -896,6 +896,7 @@ void tColModelDisplay(SColumnModel *pModel, void *pData, int32_t numOfRows, int3 char buf[4096] = {0}; taosUcs4ToMbs(val, pModel->pFields[j].field.bytes, buf); printf("%s\t", buf); + break; } case TSDB_DATA_TYPE_BINARY: { printBinaryData(val, pModel->pFields[j].field.bytes); @@ -947,6 +948,7 @@ void tColModelDisplayEx(SColumnModel *pModel, void *pData, int32_t numOfRows, in char buf[128] = {0}; taosUcs4ToMbs(val, pModel->pFields[j].field.bytes, buf); printf("%s\t", buf); + break; } case TSDB_DATA_TYPE_BINARY: { printBinaryDataEx(val, pModel->pFields[j].field.bytes, ¶m[j]); diff --git a/src/query/src/qparserImpl.c b/src/query/src/qparserImpl.c index 4a3cb8adda6952b669787fa9bf67ff24481e3514..87add1e69e6f5ad1f7422a0dcb8d69c4b57e95c8 100644 --- a/src/query/src/qparserImpl.c +++ b/src/query/src/qparserImpl.c @@ -775,19 +775,14 @@ void setDCLSQLElems(SSqlInfo *pInfo, int32_t type, int32_t nParam, ...) { while (nParam-- > 0) { SSQLToken *pToken = va_arg(va, SSQLToken *); - (void)tTokenListAppend(pInfo->pDCLInfo, pToken); + pInfo->pDCLInfo = tTokenListAppend(pInfo->pDCLInfo, pToken); } va_end(va); } void setDropDBTableInfo(SSqlInfo *pInfo, int32_t type, SSQLToken* pToken, SSQLToken* existsCheck) { pInfo->type = type; - - if (pInfo->pDCLInfo == NULL) { - pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL)); - } - - tTokenListAppend(pInfo->pDCLInfo, pToken); + pInfo->pDCLInfo = tTokenListAppend(pInfo->pDCLInfo, pToken); pInfo->pDCLInfo->existsCheck = (existsCheck->n == 1); } diff --git a/src/query/src/qpercentile.c b/src/query/src/qpercentile.c index 286171bdab794dde6fdf07d65fbcfa1d6875215b..367028928b71c345123eaf432fb72178b81957f3 100644 --- a/src/query/src/qpercentile.c +++ b/src/query/src/qpercentile.c @@ -241,7 +241,6 @@ void tBucketDoubleHash(tMemBucket *pBucket, void *value, int16_t *segIdx, int16_ tMemBucket *tMemBucketCreate(int32_t totalSlots, int32_t nBufferSize, int16_t nElemSize, int16_t dataType, tOrderDescriptor *pDesc) { tMemBucket *pBucket = (tMemBucket *)malloc(sizeof(tMemBucket)); - pBucket->nTotalSlots = totalSlots; pBucket->nSlotsOfSeg = 1 << 6; // 64 Segments, 16 slots each seg. pBucket->dataType = dataType; @@ -258,6 +257,7 @@ tMemBucket *tMemBucketCreate(int32_t totalSlots, int32_t nBufferSize, int16_t nE pBucket->numOfTotalPages = pBucket->nTotalBufferSize / pBucket->pageSize; pBucket->numOfAvailPages = pBucket->numOfTotalPages; + pBucket->pSegs = NULL; pBucket->pOrderDesc = pDesc; switch (pBucket->dataType) { @@ -315,7 +315,7 @@ tMemBucket *tMemBucketCreate(int32_t totalSlots, int32_t nBufferSize, int16_t nE pBucket->pSegs[i].pBoundingEntries = NULL; } - uTrace("MemBucket:%p,created,buffer size:%d,elem size:%d", pBucket, pBucket->numOfTotalPages * DEFAULT_PAGE_SIZE, + uTrace("MemBucket:%p,created,buffer size:%ld,elem size:%d", pBucket, pBucket->numOfTotalPages * DEFAULT_PAGE_SIZE, pBucket->nElemSize); return pBucket; @@ -751,7 +751,7 @@ double getPercentileImpl(tMemBucket *pMemBucket, int32_t count, double fraction) char * thisVal = buffer->data + pMemBucket->nElemSize * currentIdx; char * nextVal = thisVal + pMemBucket->nElemSize; - double td, nd; + double td = 1.0, nd = 1.0; switch (pMemBucket->dataType) { case TSDB_DATA_TYPE_SMALLINT: { td = *(int16_t *)thisVal; diff --git a/src/query/src/qresultBuf.c b/src/query/src/qresultBuf.c index 55ec57b763cb9547f8946ec9577279b1bd2f2170..19353c9c5a6ea88fa536e9bb4e38c89c3fefd4f7 100644 --- a/src/query/src/qresultBuf.c +++ b/src/query/src/qresultBuf.c @@ -6,7 +6,12 @@ #include "queryLog.h" int32_t createDiskbasedResultBuffer(SDiskbasedResultBuf** pResultBuf, int32_t size, int32_t rowSize, void* handle) { - SDiskbasedResultBuf* pResBuf = calloc(1, sizeof(SDiskbasedResultBuf)); + *pResultBuf = calloc(1, sizeof(SDiskbasedResultBuf)); + SDiskbasedResultBuf* pResBuf = *pResultBuf; + if (pResBuf == NULL) { + return TSDB_CODE_COM_OUT_OF_MEMORY; + } + pResBuf->numOfRowsPerPage = (DEFAULT_INTERN_BUF_PAGE_SIZE - sizeof(tFilePage)) / rowSize; pResBuf->numOfPages = size; @@ -46,7 +51,6 @@ int32_t createDiskbasedResultBuffer(SDiskbasedResultBuf** pResultBuf, int32_t si qTrace("QInfo:%p create tmp file for output result, %s, %" PRId64 "bytes", handle, pResBuf->path, pResBuf->totalBufSize); - *pResultBuf = pResBuf; return TSDB_CODE_SUCCESS; } @@ -210,7 +214,7 @@ void destroyResultBuf(SDiskbasedResultBuf* pResultBuf, void* handle) { } int32_t getLastPageId(SIDList *pList) { - if (pList == NULL && pList->size <= 0) { + if (pList == NULL || pList->size <= 0) { return -1; } diff --git a/src/query/src/qtsbuf.c b/src/query/src/qtsbuf.c index 869299f30936bb7fd7e40a89b02c15d06f307b8d..834f648b7a83ac12d2cc3eb0e6b7a387d5aa98e8 100644 --- a/src/query/src/qtsbuf.c +++ b/src/query/src/qtsbuf.c @@ -533,7 +533,7 @@ STSVnodeBlockInfo* tsBufGetVnodeBlockInfo(STSBuf* pTSBuf, int32_t vnodeId) { } int32_t STSBufUpdateHeader(STSBuf* pTSBuf, STSBufFileHeader* pHeader) { - if ((pTSBuf->f == NULL) || pHeader == NULL || pHeader->numOfVnode < 0 || pHeader->magic != TS_COMP_FILE_MAGIC) { + if ((pTSBuf->f == NULL) || pHeader == NULL || pHeader->numOfVnode == 0 || pHeader->magic != TS_COMP_FILE_MAGIC) { return -1; } diff --git a/src/query/src/tvariant.c b/src/query/src/tvariant.c index b11850a672a15d56fc776f8f12f0ed227731a34c..32d06225c513dfef071113278666d451bd9a0ae3 100644 --- a/src/query/src/tvariant.c +++ b/src/query/src/tvariant.c @@ -357,7 +357,7 @@ static int32_t toBinary(tVariant *pVariant, char **pDest, int32_t *pDestSize) { if (pVariant->nType == TSDB_DATA_TYPE_NCHAR) { size_t newSize = pVariant->nLen * TSDB_NCHAR_SIZE; if (pBuf != NULL) { - if (newSize > INITIAL_ALLOC_SIZE) { + if (newSize >= INITIAL_ALLOC_SIZE) { pBuf = realloc(pBuf, newSize + 1); } diff --git a/src/query/tests/unitTest.cpp b/src/query/tests/unitTest.cpp index c33ebeb58bac380a91b28a6bed4ce74dc645bb1c..c5b1cbf858a69f2d905f6aa655da18eefec3a2b6 100644 --- a/src/query/tests/unitTest.cpp +++ b/src/query/tests/unitTest.cpp @@ -334,19 +334,19 @@ TEST(testCase, parse_time) { int64_t time = 0, time1 = 0; - taosParseTime(t1, &time, strlen(t1), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t1, &time, strlen(t1), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1514739661952); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, timezone * MILLISECOND_PER_SECOND); char t2[] = "2018-1-1T1:1:1.952Z"; - taosParseTime(t2, &time, strlen(t2), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t2, &time, strlen(t2), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1514739661952 + 28800000); char t3[] = "2018-1-1 1:01:01.952"; - taosParseTime(t3, &time, strlen(t3), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t3, &time, strlen(t3), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 1514739661952); char t4[] = "2018-1-1 1:01:01.9"; @@ -355,89 +355,89 @@ TEST(testCase, parse_time) { char t7[] = "2018-01-01 01:01:01.9"; char t8[] = "2018-01-01 01:01:01.9007865"; - taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); - taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); - taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); - taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); char t9[] = "2017-4-3 1:1:2.980"; char t10[] = "2017-4-3T2:1:2.98+9:00"; - taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); char t11[] = "2017-4-3T2:1:2.98+09:00"; - taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); char t12[] = "2017-4-3T2:1:2.98+0900"; - taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI); - taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0); + taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, time1); taos_options(TSDB_OPTION_TIMEZONE, "UTC"); - taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 0); taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai"); char t14[] = "1970-1-1T0:0:0Z"; - taosParseTime(t14, &time, strlen(t14), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t14, &time, strlen(t14), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 0); char t40[] = "1970-1-1 0:0:0.999999999"; - taosParseTime(t40, &time, strlen(t40), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t40, &time, strlen(t40), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 999 + timezone * MILLISECOND_PER_SECOND); char t41[] = "1997-1-1 0:0:0.999999999"; - taosParseTime(t41, &time, strlen(t41), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t41, &time, strlen(t41), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 852048000999); int64_t k = timezone; char t42[] = "1997-1-1T0:0:0.999999999Z"; - taosParseTime(t42, &time, strlen(t42), TSDB_TIME_PRECISION_MILLI); + taosParseTime(t42, &time, strlen(t42), TSDB_TIME_PRECISION_MILLI, 0); EXPECT_EQ(time, 852048000999 - timezone * MILLISECOND_PER_SECOND); //////////////////////////////////////////////////////////////////// // illegal timestamp format char t15[] = "2017-12-33 0:0:0"; - EXPECT_EQ(taosParseTime(t15, &time, strlen(t15), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t15, &time, strlen(t15), TSDB_TIME_PRECISION_MILLI, 0), -1); char t16[] = "2017-12-31 99:0:0"; - EXPECT_EQ(taosParseTime(t16, &time, strlen(t16), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t16, &time, strlen(t16), TSDB_TIME_PRECISION_MILLI, 0), -1); char t17[] = "2017-12-31T9:0:0"; - EXPECT_EQ(taosParseTime(t17, &time, strlen(t17), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t17, &time, strlen(t17), TSDB_TIME_PRECISION_MILLI, 0), -1); char t18[] = "2017-12-31T9:0:0.Z"; - EXPECT_EQ(taosParseTime(t18, &time, strlen(t18), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t18, &time, strlen(t18), TSDB_TIME_PRECISION_MILLI, 0), -1); char t19[] = "2017-12-31 9:0:0.-1"; - EXPECT_EQ(taosParseTime(t19, &time, strlen(t19), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t19, &time, strlen(t19), TSDB_TIME_PRECISION_MILLI, 0), -1); char t20[] = "2017-12-31 9:0:0.1+12:99"; - EXPECT_EQ(taosParseTime(t20, &time, strlen(t20), TSDB_TIME_PRECISION_MILLI), 0); + EXPECT_EQ(taosParseTime(t20, &time, strlen(t20), TSDB_TIME_PRECISION_MILLI, 0), 0); EXPECT_EQ(time, 1514682000100); char t21[] = "2017-12-31T9:0:0.1+12:99"; - EXPECT_EQ(taosParseTime(t21, &time, strlen(t21), TSDB_TIME_PRECISION_MILLI), -1); + EXPECT_EQ(taosParseTime(t21, &time, strlen(t21), TSDB_TIME_PRECISION_MILLI, 0), -1); char t22[] = "2017-12-31 9:0:0.1+13:1"; - EXPECT_EQ(taosParseTime(t22, &time, strlen(t22), TSDB_TIME_PRECISION_MILLI), 0); + EXPECT_EQ(taosParseTime(t22, &time, strlen(t22), TSDB_TIME_PRECISION_MILLI, 0), 0); char t23[] = "2017-12-31T9:0:0.1+13:1"; - EXPECT_EQ(taosParseTime(t23, &time, strlen(t23), TSDB_TIME_PRECISION_MILLI), 0); + EXPECT_EQ(taosParseTime(t23, &time, strlen(t23), TSDB_TIME_PRECISION_MILLI, 0), 0); } TEST(testCase, tvariant_convert) { diff --git a/src/rpc/src/rpcMain.c b/src/rpc/src/rpcMain.c index f05416c0cde48171fd221da4fe57c8fd5e93c188..989021eb52aec0c02e39f7b21da2b2758df3cea9 100644 --- a/src/rpc/src/rpcMain.c +++ b/src/rpc/src/rpcMain.c @@ -489,17 +489,22 @@ void rpcSendRecv(void *shandle, SRpcIpSet *pIpSet, const SRpcMsg *pMsg, SRpcMsg // this API is used by server app to keep an APP context in case connection is broken int rpcReportProgress(void *handle, char *pCont, int contLen) { SRpcConn *pConn = (SRpcConn *)handle; + int code = 0; + + rpcLockConn(pConn); if (pConn->user[0]) { // pReqMsg and reqMsgLen is re-used to store the context from app server pConn->pReqMsg = pCont; pConn->reqMsgLen = contLen; - return 0; - } + } else { + tTrace("%s, rpc connection is already released", pConn->info); + rpcFreeCont(pCont); + code = -1; + } - tTrace("%s, rpc connection is already released", pConn->info); - rpcFreeCont(pCont); - return -1; + rpcUnlockConn(pConn); + return code; } /* todo: cancel process may have race condition, pContext may have been released @@ -555,18 +560,10 @@ static SRpcConn *rpcOpenConn(SRpcInfo *pRpc, char *peerFqdn, uint16_t peerPort, return pConn; } -static void rpcCloseConn(void *thandle) { - SRpcConn *pConn = (SRpcConn *)thandle; +static void rpcReleaseConn(SRpcConn *pConn) { SRpcInfo *pRpc = pConn->pRpc; if (pConn->user[0] == 0) return; - rpcLockConn(pConn); - - if (pConn->user[0] == 0) { - rpcUnlockConn(pConn); - return; - } - pConn->user[0] = 0; if (taosCloseConn[pConn->connType]) (*taosCloseConn[pConn->connType])(pConn->chandle); @@ -591,7 +588,16 @@ static void rpcCloseConn(void *thandle) { taosFreeId(pRpc->idPool, pConn->sid); pConn->pContext = NULL; - tTrace("%s, rpc connection is closed", pConn->info); + tTrace("%s, rpc connection is released", pConn->info); +} + +static void rpcCloseConn(void *thandle) { + SRpcConn *pConn = (SRpcConn *)thandle; + + rpcLockConn(pConn); + + if (pConn->user[0]) + rpcReleaseConn(pConn); rpcUnlockConn(pConn); } @@ -695,6 +701,7 @@ static SRpcConn *rpcGetConnObj(SRpcInfo *pRpc, int sid, SRecvInfo *pRecv) { if (pConn) { if (pConn->linkUid != pHead->linkUid) { terrno = TSDB_CODE_RPC_MISMATCHED_LINK_ID; + tError("%s %p %p, linkUid:0x%x is not matched with received:0x%x", pRpc->label, pConn, pHead->ahandle, pConn->linkUid, pHead->linkUid); pConn = NULL; } } @@ -910,8 +917,8 @@ static void rpcProcessBrokenLink(SRpcConn *pConn) { if (pConn->inType) rpcReportBrokenLinkToServer(pConn); + rpcReleaseConn(pConn); rpcUnlockConn(pConn); - rpcCloseConn(pConn); } static void *rpcProcessMsgFromPeer(SRecvInfo *pRecv) { @@ -1216,7 +1223,6 @@ static void rpcProcessConnError(void *param, void *id) { static void rpcProcessRetryTimer(void *param, void *tmrId) { SRpcConn *pConn = (SRpcConn *)param; SRpcInfo *pRpc = pConn->pRpc; - int reportDisc = 0; rpcLockConn(pConn); @@ -1232,31 +1238,33 @@ static void rpcProcessRetryTimer(void *param, void *tmrId) { } else { // close the connection tTrace("%s, failed to send msg:%s to %s:%hu", pConn->info, taosMsg[pConn->outType], pConn->peerFqdn, pConn->peerPort); - reportDisc = 1; + if (pConn->pContext) { + pConn->pContext->code = TSDB_CODE_RPC_NETWORK_UNAVAIL; + taosTmrStart(rpcProcessConnError, 0, pConn->pContext, pRpc->tmrCtrl); + rpcReleaseConn(pConn); + } } } else { tTrace("%s, retry timer not processed", pConn->info); } rpcUnlockConn(pConn); - - if (reportDisc && pConn->pContext) { - pConn->pContext->code = TSDB_CODE_RPC_NETWORK_UNAVAIL; - rpcProcessConnError(pConn->pContext, NULL); - rpcCloseConn(pConn); - } } static void rpcProcessIdleTimer(void *param, void *tmrId) { SRpcConn *pConn = (SRpcConn *)param; + rpcLockConn(pConn); + if (pConn->user[0]) { tTrace("%s, close the connection since no activity", pConn->info); if (pConn->inType) rpcReportBrokenLinkToServer(pConn); - rpcCloseConn(pConn); + rpcReleaseConn(pConn); } else { tTrace("%s, idle timer:%p not processed", pConn->info, tmrId); } + + rpcUnlockConn(pConn); } static void rpcProcessProgressTimer(void *param, void *tmrId) { diff --git a/src/tsdb/src/tsdbMeta.c b/src/tsdb/src/tsdbMeta.c index 8eb259d38c67afcee12be882873968f7facbaea3..1f31f18ce1cfb0fcda12872eb33963bd8b58d197 100644 --- a/src/tsdb/src/tsdbMeta.c +++ b/src/tsdb/src/tsdbMeta.c @@ -424,6 +424,11 @@ int tsdbUpdateTable(STsdbMeta *pMeta, STable *pTable, STableCfg *pCfg) { pTable->schema[pTable->numOfSchemas-1] = tSchema; } + STSchema *lSchema = pTable->schema[pTable->numOfSchemas - 1]; + if (schemaNCols(lSchema) > pMeta->maxCols) pMeta->maxCols = schemaNCols(lSchema); + int bytes = dataRowMaxBytesFromSchema(lSchema); + if (bytes > pMeta->maxRowBytes) pMeta->maxRowBytes = bytes; + isChanged = true; } @@ -595,6 +600,10 @@ int tsdbDropTable(TsdbRepoT *repo, STableId tableId) { return -1; } + if (pTable->cqhandle != NULL) { + pRepo->appH.cqDropFunc(pTable->cqhandle); + } + tsdbTrace("vgId:%d, table %s is dropped! tid:%d, uid:%" PRId64, pRepo->config.tsdbId, varDataVal(pTable->name), tableId.tid, tableId.uid); if (tsdbRemoveTableFromMeta(pMeta, pTable, true) < 0) return -1; diff --git a/src/vnode/src/vnodeMain.c b/src/vnode/src/vnodeMain.c index 0882ee983dfb6aca7831600e870885e0061ca75d..fef0b071a632d08e9f9068539ec9ff138d48b80a 100644 --- a/src/vnode/src/vnodeMain.c +++ b/src/vnode/src/vnodeMain.c @@ -325,6 +325,11 @@ void vnodeRelease(void *pVnodeRaw) { tsdbCloseRepo(pVnode->tsdb, 1); pVnode->tsdb = NULL; + // stop continuous query + if (pVnode->cq) + cqClose(pVnode->cq); + pVnode->cq = NULL; + if (pVnode->wal) walClose(pVnode->wal); pVnode->wal = NULL; @@ -436,11 +441,6 @@ static void vnodeCleanUp(SVnodeObj *pVnode) { pVnode->sync = NULL; } - // stop continuous query - if (pVnode->cq) - cqClose(pVnode->cq); - pVnode->cq = NULL; - // release local resources only after cutting off outside connections vnodeRelease(pVnode); } diff --git a/tests/pytest/fulltest.sh b/tests/pytest/fulltest.sh index 58ab8b99b41e62a5112f4d5013f1926affbf0f96..dfa3b5504832ce6495286b4f7ea1f1748b56c77a 100755 --- a/tests/pytest/fulltest.sh +++ b/tests/pytest/fulltest.sh @@ -127,7 +127,7 @@ python3 ./test.py -f user/user_create.py python3 ./test.py -f user/pass_len.py # table -#python3 ./test.py -f table/del_stable.py +python3 ./test.py -f table/del_stable.py #query python3 ./test.py -f query/filter.py diff --git a/tests/pytest/query/filterAllIntTypes.py b/tests/pytest/query/filterAllIntTypes.py index 32e635d6da6e430da219722df81f3ad0ac09e9b8..cf65d2b1021c22200b89a94a8f6093bc45937872 100644 --- a/tests/pytest/query/filterAllIntTypes.py +++ b/tests/pytest/query/filterAllIntTypes.py @@ -22,12 +22,12 @@ class TDTestCase: def init(self, conn, logSql): tdLog.debug("start to execute %s" % __file__) tdSql.init(conn.cursor()) - + self.powers = [7, 15, 31, 63] self.types = ["tinyint", "smallint", "int", "bigint"] self.rowNum = 10 - self.ts = 1537146000000 - + self.ts = 1537146000000 + def run(self): tdSql.prepare() @@ -35,20 +35,30 @@ class TDTestCase: curType = self.types[i] print("======= Verify filter for %s type =========" % (curType)) tdLog.debug( - "create table st%s(ts timestamp, num %s) tags(id %s)" % (curType, curType, curType)) + "create table st%s(ts timestamp, num %s) tags(id %s)" % + (curType, curType, curType)) tdSql.execute( - "create table st%s(ts timestamp, num %s) tags(id %s)" % (curType, curType, curType)) - - #create 10 tables, insert 10 rows for each table - for j in range(self.rowNum): - tdSql.execute("create table st%s%d using st%s tags(%d)" % (curType, j + 1, curType, j + 1)) - for k in range(self.rowNum): - tdSql.execute("insert into st%s%d values(%d, %d)" % (curType, j + 1, self.ts + k + 1, j * 10 + k + 1)) - - tdSql.error("insert into st%s10 values(%d, %d)" % (curType, self.ts + 11, pow(2, self.powers[i]))) - tdSql.execute("insert into st%s10 values(%d, %d)" % (curType, self.ts + 12, pow(2, self.powers[i]) - 1)) - tdSql.error("insert into st%s10 values(%d, %d)" % (curType, self.ts + 13, pow(-2, self.powers[i]))) - tdSql.execute("insert into st%s10 values(%d, %d)" % (curType, self.ts + 14, pow(-2, self.powers[i]) + 1)) + "create table st%s(ts timestamp, num %s) tags(id %s)" % + (curType, curType, curType)) + + # create 10 tables, insert 10 rows for each table + for j in range(self.rowNum): + tdSql.execute( + "create table st%s%d using st%s tags(%d)" % + (curType, j + 1, curType, j + 1)) + for k in range(self.rowNum): + tdSql.execute( + "insert into st%s%d values(%d, %d)" % + (curType, j + 1, self.ts + k + 1, j * 10 + k + 1)) + + tdSql.error("insert into st%s10 values(%d, %d)" % + (curType, self.ts + 11, pow(2, self.powers[i]))) + tdSql.execute("insert into st%s10 values(%d, %d)" % + (curType, self.ts + 12, pow(2, self.powers[i]) - 1)) + tdSql.error("insert into st%s10 values(%d, %d)" % + (curType, self.ts + 13, pow(-2, self.powers[i]))) + tdSql.execute("insert into st%s10 values(%d, %d)" % + (curType, self.ts + 14, pow(-2, self.powers[i]) + 1)) # > for int type on column tdSql.query("select * from st%s where num > 50" % curType) @@ -104,10 +114,12 @@ class TDTestCase: # != for int type on tag tdSql.query("select * from st%s where id != 5" % curType) - tdSql.checkRows(92) + tdSql.checkRows(92) + + print( + "======= Verify filter for %s type finished =========" % + curType) - print("======= Verify filter for %s type finished =========" % curType) - def stop(self): tdSql.close() tdLog.success("%s successfully executed" % __file__) diff --git a/tests/pytest/query/filterFloatAndDouble.py b/tests/pytest/query/filterFloatAndDouble.py index bea41be11c4ca35051fbb62c8387241b05e48742..bd349a2a25c556723775e558d890cbca19803156 100644 --- a/tests/pytest/query/filterFloatAndDouble.py +++ b/tests/pytest/query/filterFloatAndDouble.py @@ -21,28 +21,28 @@ from util.sql import * class TDTestCase: def init(self, conn, logSql): tdLog.debug("start to execute %s" % __file__) - tdSql.init(conn.cursor()) + tdSql.init(conn.cursor()) self.rowNum = 10 self.ts = 1537146000000 - + def run(self): tdSql.prepare() print("======= Verify filter for float and double type =========") tdLog.debug( - "create table st(ts timestamp, num float, speed double) tags(tagcol1 float, tagcol2 double)") + "create table st(ts timestamp, num float, speed double) tags(tagcol1 float, tagcol2 double)") tdSql.execute( - "create table st(ts timestamp, num float, speed double) tags(tagcol1 float, tagcol2 double)") - - for j in range(self.rowNum): - tdSql.execute( - "insert into st1 using st tags(1.1, 2.3) values(%d, %f, %f)" % (self.ts + j + 1, 1.1 * (j + 1), 2.3 * (j + 1))) + "create table st(ts timestamp, num float, speed double) tags(tagcol1 float, tagcol2 double)") + + for j in range(self.rowNum): + tdSql.execute("insert into st1 using st tags(1.1, 2.3) values(%d, %f, %f)" % ( + self.ts + j + 1, 1.1 * (j + 1), 2.3 * (j + 1))) # > for float type on column tdSql.query("select * from st where num > 5.5") tdSql.checkRows(5) - + # >= for float type on column tdSql.query("select * from st where num >= 5.5") tdSql.checkRows(6) @@ -70,11 +70,11 @@ class TDTestCase: # > for float type on tag tdSql.query("select * from st where tagcol1 > 1.1") tdSql.checkRows(0) - + # >= for float type on tag tdSql.query("select * from st where tagcol1 >= 1.1") tdSql.checkRows(10) - + # = for float type on tag tdSql.query("select * from st where tagcol1 = 1.1") tdSql.checkRows(10) @@ -86,7 +86,7 @@ class TDTestCase: # != for float type on tag tdSql.query("select * from st where tagcol1 != 1.1") tdSql.checkRows(0) - + # <= for float type on tag tdSql.query("select * from st where tagcol1 <= 1.1") tdSql.checkRows(10) @@ -94,11 +94,11 @@ class TDTestCase: # < for float type on tag tdSql.query("select * from st where tagcol1 < 1.1") tdSql.checkRows(0) - + # > for double type on column tdSql.query("select * from st where speed > 11.5") tdSql.checkRows(5) - + # >= for double type on column tdSql.query("select * from st where speed >= 11.5") tdSql.checkRows(6) @@ -126,11 +126,11 @@ class TDTestCase: # > for double type on tag tdSql.query("select * from st where tagcol2 > 2.3") tdSql.checkRows(0) - + # >= for double type on tag tdSql.query("select * from st where tagcol2 >= 2.3") tdSql.checkRows(10) - + # = for double type on tag tdSql.query("select * from st where tagcol2 = 2.3") tdSql.checkRows(10) @@ -142,7 +142,7 @@ class TDTestCase: # != for double type on tag tdSql.query("select * from st where tagcol2 != 2.3") tdSql.checkRows(0) - + # <= for double type on tag tdSql.query("select * from st where tagcol2 <= 2.3") tdSql.checkRows(10) @@ -150,7 +150,7 @@ class TDTestCase: # < for double type on tag tdSql.query("select * from st where tagcol2 < 2.3") tdSql.checkRows(0) - + def stop(self): tdSql.close() tdLog.success("%s successfully executed" % __file__) diff --git a/tests/pytest/query/filterOtherTypes.py b/tests/pytest/query/filterOtherTypes.py index f09ac596c7156b468e425d071c2c8ba024115f34..bc7df18c8da9dafce62f20b13800b266815c2cbf 100644 --- a/tests/pytest/query/filterOtherTypes.py +++ b/tests/pytest/query/filterOtherTypes.py @@ -21,33 +21,39 @@ from util.sql import * class TDTestCase: def init(self, conn, logSql): tdLog.debug("start to execute %s" % __file__) - tdSql.init(conn.cursor()) - + tdSql.init(conn.cursor()) + self.ts = 1537146000000 - + def run(self): tdSql.prepare() - + print("======= Verify filter for bool, nchar and binary type =========") tdLog.debug( "create table st(ts timestamp, tbcol1 bool, tbcol2 nchar(10), tbcol3 binary(20)) tags(tagcol1 bool, tagcol2 nchar(10), tagcol3 binary(10))") tdSql.execute( - "create table st(ts timestamp, tbcol1 bool, tbcol2 nchar(10), tbcol3 binary(20)) tags(tagcol1 bool, tagcol2 nchar(10), tagcol3 binary(10))") + "create table st(ts timestamp, tbcol1 bool, tbcol2 nchar(10), tbcol3 binary(20)) tags(tagcol1 bool, tagcol2 nchar(10), tagcol3 binary(10))") tdSql.execute("create table st1 using st tags(true, 'table1', '水表')") - for i in range(1, 6): - tdSql.execute("insert into st1 values(%d, %d, 'taosdata%d', '涛思数据%d')" % (self.ts + i, i % 2, i, i)) + for i in range(1, 6): + tdSql.execute( + "insert into st1 values(%d, %d, 'taosdata%d', '涛思数据%d')" % + (self.ts + i, i % + 2, i, i)) tdSql.execute("create table st2 using st tags(false, 'table2', '电表')") - for i in range(6, 11): - tdSql.execute("insert into st2 values(%d, %d, 'taosdata%d', '涛思数据%d')" % (self.ts + i, i % 2, i, i)) + for i in range(6, 11): + tdSql.execute( + "insert into st2 values(%d, %d, 'taosdata%d', '涛思数据%d')" % + (self.ts + i, i % + 2, i, i)) # =============Verify stable columns==================== # > for bool type on column tdSql.error("select * from st where tbcol1 > false") # >= for bool type on column - tdSql.error("select * from st where tbcol1 >= false") + tdSql.error("select * from st where tbcol1 >= false") # = for bool type on column tdSql.query("select * from st where tbcol1 = false") @@ -77,18 +83,18 @@ class TDTestCase: tdSql.error("select * from st where tbcol2 > 'taosdata'") # >= for nchar type on column - tdSql.error("select * from st where tbcol2 >= 'taosdata'") + tdSql.error("select * from st where tbcol2 >= 'taosdata'") # = for nchar type on column tdSql.query("select * from st where tbcol2 = 'taosdata1'") tdSql.checkRows(1) # <> for nchar type on column - tdSql.query("select * from st where tbcol2 <> 'taosdata1'") + tdSql.query("select * from st where tbcol2 <> 'taosdata1'") tdSql.checkRows(9) # != for nchar type on column - tdSql.query("select * from st where tbcol2 != 'taosdata1'") + tdSql.query("select * from st where tbcol2 != 'taosdata1'") tdSql.checkRows(9) # > for nchar type on column @@ -98,57 +104,57 @@ class TDTestCase: tdSql.error("select * from st where tbcol2 <= 'taodata'") # % for nchar type on column case 1 - tdSql.query("select * from st where tbcol2 like '%'") + tdSql.query("select * from st where tbcol2 like '%'") tdSql.checkRows(10) # % for nchar type on column case 2 - tdSql.query("select * from st where tbcol2 like 'a%'") + tdSql.query("select * from st where tbcol2 like 'a%'") tdSql.checkRows(0) # % for nchar type on column case 3 - tdSql.query("select * from st where tbcol2 like 't%_'") + tdSql.query("select * from st where tbcol2 like 't%_'") tdSql.checkRows(10) # % for nchar type on column case 4 - tdSql.query("select * from st where tbcol2 like '%1'") + tdSql.query("select * from st where tbcol2 like '%1'") # tdSql.checkRows(2) # _ for nchar type on column case 1 - tdSql.query("select * from st where tbcol2 like '____________'") - tdSql.checkRows(0) + tdSql.query("select * from st where tbcol2 like '____________'") + tdSql.checkRows(0) # _ for nchar type on column case 2 - tdSql.query("select * from st where tbcol2 like '__________'") + tdSql.query("select * from st where tbcol2 like '__________'") tdSql.checkRows(1) # _ for nchar type on column case 3 - tdSql.query("select * from st where tbcol2 like '_________'") + tdSql.query("select * from st where tbcol2 like '_________'") tdSql.checkRows(9) # _ for nchar type on column case 4 - tdSql.query("select * from st where tbcol2 like 't________'") + tdSql.query("select * from st where tbcol2 like 't________'") tdSql.checkRows(9) # _ for nchar type on column case 5 - tdSql.query("select * from st where tbcol2 like '%________'") + tdSql.query("select * from st where tbcol2 like '%________'") tdSql.checkRows(10) # > for binary type on column tdSql.error("select * from st where tbcol3 > '涛思数据'") # >= for binary type on column - tdSql.error("select * from st where tbcol3 >= '涛思数据'") + tdSql.error("select * from st where tbcol3 >= '涛思数据'") # = for binary type on column tdSql.query("select * from st where tbcol3 = '涛思数据1'") tdSql.checkRows(1) # <> for binary type on column - tdSql.query("select * from st where tbcol3 <> '涛思数据1'") + tdSql.query("select * from st where tbcol3 <> '涛思数据1'") tdSql.checkRows(9) # != for binary type on column - tdSql.query("select * from st where tbcol3 != '涛思数据1'") + tdSql.query("select * from st where tbcol3 != '涛思数据1'") tdSql.checkRows(9) # > for binary type on column @@ -158,39 +164,39 @@ class TDTestCase: tdSql.error("select * from st where tbcol3 <= '涛思数据'") # % for binary type on column case 1 - tdSql.query("select * from st where tbcol3 like '%'") + tdSql.query("select * from st where tbcol3 like '%'") tdSql.checkRows(10) # % for binary type on column case 2 - tdSql.query("select * from st where tbcol3 like '陶%'") + tdSql.query("select * from st where tbcol3 like '陶%'") tdSql.checkRows(0) # % for binary type on column case 3 - tdSql.query("select * from st where tbcol3 like '涛%_'") + tdSql.query("select * from st where tbcol3 like '涛%_'") tdSql.checkRows(10) # % for binary type on column case 4 - tdSql.query("select * from st where tbcol3 like '%1'") + tdSql.query("select * from st where tbcol3 like '%1'") tdSql.checkRows(1) # _ for binary type on column case 1 - tdSql.query("select * from st where tbcol3 like '_______'") - tdSql.checkRows(0) + tdSql.query("select * from st where tbcol3 like '_______'") + tdSql.checkRows(0) # _ for binary type on column case 2 - tdSql.query("select * from st where tbcol3 like '______'") + tdSql.query("select * from st where tbcol3 like '______'") tdSql.checkRows(1) # _ for binary type on column case 2 - tdSql.query("select * from st where tbcol3 like '_____'") + tdSql.query("select * from st where tbcol3 like '_____'") tdSql.checkRows(9) # _ for binary type on column case 3 - tdSql.query("select * from st where tbcol3 like '____'") + tdSql.query("select * from st where tbcol3 like '____'") tdSql.checkRows(0) # _ for binary type on column case 4 - tdSql.query("select * from st where tbcol3 like 't____'") + tdSql.query("select * from st where tbcol3 like 't____'") tdSql.checkRows(0) # =============Verify stable tags==================== @@ -198,7 +204,7 @@ class TDTestCase: tdSql.error("select * from st where tagcol1 > false") # >= for bool type on tag - tdSql.error("select * from st where tagcol1 >= false") + tdSql.error("select * from st where tagcol1 >= false") # = for bool type on tag tdSql.query("select * from st where tagcol1 = false") @@ -228,18 +234,18 @@ class TDTestCase: tdSql.error("select * from st where tagcol2 > 'table'") # >= for nchar type on tag - tdSql.error("select * from st where tagcol2 >= 'table'") + tdSql.error("select * from st where tagcol2 >= 'table'") # = for nchar type on tag tdSql.query("select * from st where tagcol2 = 'table1'") tdSql.checkRows(5) # <> for nchar type on tag - tdSql.query("select * from st where tagcol2 <> 'table1'") + tdSql.query("select * from st where tagcol2 <> 'table1'") tdSql.checkRows(5) # != for nchar type on tag - tdSql.query("select * from st where tagcol2 != 'table'") + tdSql.query("select * from st where tagcol2 != 'table'") tdSql.checkRows(10) # > for nchar type on tag @@ -249,57 +255,57 @@ class TDTestCase: tdSql.error("select * from st where tagcol2 <= 'table'") # % for nchar type on tag case 1 - tdSql.query("select * from st where tagcol2 like '%'") + tdSql.query("select * from st where tagcol2 like '%'") tdSql.checkRows(10) # % for nchar type on tag case 2 - tdSql.query("select * from st where tagcol2 like 'a%'") + tdSql.query("select * from st where tagcol2 like 'a%'") tdSql.checkRows(0) # % for nchar type on tag case 3 - tdSql.query("select * from st where tagcol2 like 't%_'") + tdSql.query("select * from st where tagcol2 like 't%_'") tdSql.checkRows(10) # % for nchar type on tag case 4 - tdSql.query("select * from st where tagcol2 like '%1'") + tdSql.query("select * from st where tagcol2 like '%1'") tdSql.checkRows(5) # _ for nchar type on tag case 1 - tdSql.query("select * from st where tagcol2 like '_______'") - tdSql.checkRows(0) + tdSql.query("select * from st where tagcol2 like '_______'") + tdSql.checkRows(0) # _ for nchar type on tag case 2 - tdSql.query("select * from st where tagcol2 like '______'") + tdSql.query("select * from st where tagcol2 like '______'") tdSql.checkRows(10) # _ for nchar type on tag case 3 - tdSql.query("select * from st where tagcol2 like 't_____'") + tdSql.query("select * from st where tagcol2 like 't_____'") tdSql.checkRows(10) # _ for nchar type on tag case 4 - tdSql.query("select * from st where tagcol2 like 's________'") + tdSql.query("select * from st where tagcol2 like 's________'") tdSql.checkRows(0) # _ for nchar type on tag case 5 - tdSql.query("select * from st where tagcol2 like '%__'") + tdSql.query("select * from st where tagcol2 like '%__'") tdSql.checkRows(10) # > for binary type on tag tdSql.error("select * from st where tagcol3 > '表'") # >= for binary type on tag - tdSql.error("select * from st where tagcol3 >= '表'") + tdSql.error("select * from st where tagcol3 >= '表'") # = for binary type on tag tdSql.query("select * from st where tagcol3 = '水表'") tdSql.checkRows(5) # <> for binary type on tag - tdSql.query("select * from st where tagcol3 <> '水表'") + tdSql.query("select * from st where tagcol3 <> '水表'") tdSql.checkRows(5) # != for binary type on tag - tdSql.query("select * from st where tagcol3 != '水表'") + tdSql.query("select * from st where tagcol3 != '水表'") tdSql.checkRows(5) # > for binary type on tag @@ -309,54 +315,53 @@ class TDTestCase: tdSql.error("select * from st where tagcol3 <= '水表'") # % for binary type on tag case 1 - tdSql.query("select * from st where tagcol3 like '%'") + tdSql.query("select * from st where tagcol3 like '%'") tdSql.checkRows(10) # % for binary type on tag case 2 - tdSql.query("select * from st where tagcol3 like '水%'") + tdSql.query("select * from st where tagcol3 like '水%'") tdSql.checkRows(5) # % for binary type on tag case 3 - tdSql.query("select * from st where tagcol3 like '数%_'") + tdSql.query("select * from st where tagcol3 like '数%_'") tdSql.checkRows(0) # % for binary type on tag case 4 - tdSql.query("select * from st where tagcol3 like '%表'") + tdSql.query("select * from st where tagcol3 like '%表'") tdSql.checkRows(10) # % for binary type on tag case 5 - tdSql.query("select * from st where tagcol3 like '%据'") + tdSql.query("select * from st where tagcol3 like '%据'") tdSql.checkRows(0) # _ for binary type on tag case 1 - tdSql.query("select * from st where tagcol3 like '__'") - tdSql.checkRows(10) + tdSql.query("select * from st where tagcol3 like '__'") + tdSql.checkRows(10) # _ for binary type on tag case 2 - tdSql.query("select * from st where tagcol3 like '水_'") + tdSql.query("select * from st where tagcol3 like '水_'") tdSql.checkRows(5) # _ for binary type on tag case 2 - tdSql.query("select * from st where tagcol3 like '_表'") + tdSql.query("select * from st where tagcol3 like '_表'") tdSql.checkRows(10) # _ for binary type on tag case 3 - tdSql.query("select * from st where tagcol3 like '___'") + tdSql.query("select * from st where tagcol3 like '___'") tdSql.checkRows(0) # _ for binary type on tag case 4 - tdSql.query("select * from st where tagcol3 like '数_'") + tdSql.query("select * from st where tagcol3 like '数_'") tdSql.checkRows(0) # _ for binary type on tag case 5 - tdSql.query("select * from st where tagcol3 like '_据'") + tdSql.query("select * from st where tagcol3 like '_据'") tdSql.checkRows(0) - + def stop(self): tdSql.close() - tdLog.success("%s successfully executed" % __file__) + tdLog.success("%s successfully executed" % __file__) tdCases.addWindows(__file__, TDTestCase()) tdCases.addLinux(__file__, TDTestCase()) - diff --git a/tests/pytest/query/querySort.py b/tests/pytest/query/querySort.py index bb806c27bcdc6f6e2892a86be6e7e028fc2a03e2..385870137931c2113739f0b92bcf9d1bf21b06be 100644 --- a/tests/pytest/query/querySort.py +++ b/tests/pytest/query/querySort.py @@ -21,56 +21,60 @@ from util.sql import * class TDTestCase: def init(self, conn, logSql): tdLog.debug("start to execute %s" % __file__) - tdSql.init(conn.cursor()) + tdSql.init(conn.cursor()) self.rowNum = 10 self.ts = 1537146000000 - + def run(self): tdSql.prepare() print("======= step 1: create table and insert data =========") tdLog.debug( - ''' create table st(ts timestamp, tbcol1 tinyint, tbcol2 smallint, tbcol3 int, tbcol4 bigint, tbcol5 float, tbcol6 double, - tbcol7 bool, tbcol8 nchar(20), tbcol9 binary(20)) tags(tagcol1 tinyint, tagcol2 smallint, tagcol3 int, tagcol4 bigint, tagcol5 float, + ''' create table st(ts timestamp, tbcol1 tinyint, tbcol2 smallint, tbcol3 int, tbcol4 bigint, tbcol5 float, tbcol6 double, + tbcol7 bool, tbcol8 nchar(20), tbcol9 binary(20)) tags(tagcol1 tinyint, tagcol2 smallint, tagcol3 int, tagcol4 bigint, tagcol5 float, tagcol6 double, tagcol7 bool, tagcol8 nchar(20), tagcol9 binary(20))''') tdSql.execute( - ''' create table st(ts timestamp, tbcol1 tinyint, tbcol2 smallint, tbcol3 int, tbcol4 bigint, tbcol5 float, tbcol6 double, - tbcol7 bool, tbcol8 nchar(20), tbcol9 binary(20)) tags(tagcol1 tinyint, tagcol2 smallint, tagcol3 int, tagcol4 bigint, tagcol5 float, + ''' create table st(ts timestamp, tbcol1 tinyint, tbcol2 smallint, tbcol3 int, tbcol4 bigint, tbcol5 float, tbcol6 double, + tbcol7 bool, tbcol8 nchar(20), tbcol9 binary(20)) tags(tagcol1 tinyint, tagcol2 smallint, tagcol3 int, tagcol4 bigint, tagcol5 float, tagcol6 double, tagcol7 bool, tagcol8 nchar(20), tagcol9 binary(20))''') - + for i in range(self.rowNum): - tdSql.execute("create table st%d using st tags(%d, %d, %d, %d, %f, %f, %d, 'tag%d', '标签%d')" % (i + 1, i + 1, i + 1, i + 1, i + 1, 1.1 * (i + 1), - 1.23 * (i + 1), (i + 1) % 2, i + 1, i + 1)) + tdSql.execute("create table st%d using st tags(%d, %d, %d, %d, %f, %f, %d, 'tag%d', '标签%d')" % ( + i + 1, i + 1, i + 1, i + 1, i + 1, 1.1 * (i + 1), 1.23 * (i + 1), (i + 1) % 2, i + 1, i + 1)) for j in range(self.rowNum): - tdSql.execute("insert into st%d values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d')" % (i + 1, self.ts + 10 * (i + 1) + j + 1, - j + 1, j + 1, j + 1, j + 1, 1.1 * (j + 1), 1.23 * (j + 1), (j + 1) % 2, j + 1, j + 1)) - + tdSql.execute("insert into st%d values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d')" % ( + i + 1, self.ts + 10 * (i + 1) + j + 1, j + 1, j + 1, j + 1, j + 1, 1.1 * (j + 1), 1.23 * (j + 1), (j + 1) % 2, j + 1, j + 1)) - print("======= step 2: verify order for each column =========") - # sort for timestamp in asc order + print("======= step 2: verify order for each column =========") + # sort for timestamp in asc order tdSql.query("select * from st order by ts asc") tdSql.checkColumnSorted(0, "asc") - # sort for timestamp in desc order + # sort for timestamp in desc order tdSql.query("select * from st order by ts desc") tdSql.checkColumnSorted(0, "desc") + for i in range(1, 10): + tdSql.error("select * from st order by tbcol%d" % i) + tdSql.error("select * from st order by tbcol%d asc" % i) + tdSql.error("select * from st order by tbcol%d desc" % i) - for i in range(1, 10): - tdSql.error("select * from st order by tbcol%d" % i) - tdSql.error("select * from st order by tbcol%d asc" % i) - tdSql.error("select * from st order by tbcol%d desc" % i) - - tdSql.query("select avg(tbcol1) from st group by tagcol%d order by tagcol%d" % (i, i)) + tdSql.query( + "select avg(tbcol1) from st group by tagcol%d order by tagcol%d" % + (i, i)) tdSql.checkColumnSorted(1, "") - tdSql.query("select avg(tbcol1) from st group by tagcol%d order by tagcol%d asc" % (i, i)) + tdSql.query( + "select avg(tbcol1) from st group by tagcol%d order by tagcol%d asc" % + (i, i)) tdSql.checkColumnSorted(1, "asc") - - tdSql.query("select avg(tbcol1) from st group by tagcol%d order by tagcol%d desc" % (i, i)) - tdSql.checkColumnSorted(1, "desc") - + + tdSql.query( + "select avg(tbcol1) from st group by tagcol%d order by tagcol%d desc" % + (i, i)) + tdSql.checkColumnSorted(1, "desc") + def stop(self): tdSql.close() tdLog.success("%s successfully executed" % __file__) diff --git a/tests/pytest/query/querytest.py b/tests/pytest/query/querytest.py index d15e82ff9c5d463b32ff011a7a2b1f813faa2352..e2ed26f0f7ec170ecb6b1c9b286bb379161a48fd 100644 --- a/tests/pytest/query/querytest.py +++ b/tests/pytest/query/querytest.py @@ -13,18 +13,46 @@ import taos import time +from datetime import datetime -conn = taos.connect(host="127.0.0.1", user="root", password="taosdata", config="/etc/taos") -c1 = conn.cursor() +class DBWriteNonStop: + def __init(self)__: + self.host = "127.0.0.1" + self.user = "root" + self.password = "taosdata" + self.config = "/etc/taos" + + def init(self, host, user, password, config): + self.host = host + self.user = user + self.password = password + self.config = config + + def connectDB(self, conn, cursor): + self.conn = taos.connect(self.host, self.user, self.password, self.config) + self.cursor = conn.cursor() + return self.cursor -c1.execute('create database db') -c1.execute('use db') + def createTable() + +c1.execute('drop database if exists dbwrite') +c1.execute('create database dbwrite') +c1.execute('use dbwrite') c1.execute('create table if not exists st (ts timestamp, value nchar(50), speed int) tags(dev nchar(50))') i = 1 +startTime = datetime.now() while True: c1.execute("insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" % (i % 10000, i % 100000)) i += 1 - i = i % 32000000 \ No newline at end of file + i = i % 32000000 + endTime = datetime.now() + if (endTime - startTime).seconds >= 5 * 2: + startTime = endTime + c1.execute("select count(*) from st") + data = c1.fetchall() + print(datetime.now()) + print("total records: %d" % data[0][0]) + time.sleep(.001) \ No newline at end of file diff --git a/tests/pytest/random-test/random-test.py b/tests/pytest/random-test/random-test.py index 5eb356960ab5207824c4eb4d1f75323b530ca5dd..31ce70e90a291659137d6abbc539cf297ff62411 100644 --- a/tests/pytest/random-test/random-test.py +++ b/tests/pytest/random-test/random-test.py @@ -97,6 +97,8 @@ class Test: "create table %s using %s tags (1, '表1')" % (current_tb, self.last_stb)) self.last_tb = current_tb + self.written = 0 + tdSql.execute( "insert into %s values (now, 27, '我是nchar字符串')" % self.last_tb) diff --git a/tests/pytest/regressiontest.sh b/tests/pytest/regressiontest.sh index 50237f27c5949faddf9f21ce4f9f88097ee8c0b3..1fc3edf4a96ddb33a9ab1613926962e43331129b 100755 --- a/tests/pytest/regressiontest.sh +++ b/tests/pytest/regressiontest.sh @@ -29,18 +29,18 @@ python3 ./test.py -f tag_lite/3.py python3 ./test.py -f tag_lite/4.py python3 ./test.py -f tag_lite/5.py python3 ./test.py -f tag_lite/6.py -# python3 ./test.py -f tag_lite/add.py +python3 ./test.py -f tag_lite/add.py python3 ./test.py -f tag_lite/bigint.py python3 ./test.py -f tag_lite/binary_binary.py python3 ./test.py -f tag_lite/binary.py python3 ./test.py -f tag_lite/bool_binary.py python3 ./test.py -f tag_lite/bool_int.py python3 ./test.py -f tag_lite/bool.py -# python3 ./test.py -f tag_lite/change.py +python3 ./test.py -f tag_lite/change.py python3 ./test.py -f tag_lite/column.py -# python3 ./test.py -f tag_lite/commit.py +python3 ./test.py -f tag_lite/commit.py python3 ./test.py -f tag_lite/create.py -# python3 ./test.py -f tag_lite/datatype.py +python3 ./test.py -f tag_lite/datatype.py python3 ./test.py -f tag_lite/datatype-without-alter.py # python3 ./test.py -f tag_lite/delete.py python3 ./test.py -f tag_lite/double.py @@ -48,7 +48,7 @@ python3 ./test.py -f tag_lite/float.py python3 ./test.py -f tag_lite/int_binary.py python3 ./test.py -f tag_lite/int_float.py python3 ./test.py -f tag_lite/int.py -# python3 ./test.py -f tag_lite/set.py +python3 ./test.py -f tag_lite/set.py python3 ./test.py -f tag_lite/smallint.py python3 ./test.py -f tag_lite/tinyint.py @@ -127,7 +127,7 @@ python3 ./test.py -f user/user_create.py python3 ./test.py -f user/pass_len.py # table -# python3 ./test.py -f table/del_stable.py +python3 ./test.py -f table/del_stable.py #query python3 ./test.py -f query/filter.py diff --git a/tests/pytest/table/del_stable.py b/tests/pytest/table/del_stable.py index e7fd0f1fb124f60a9bb63d67423ecec5ec358f87..e458b6679fbf32a10868fb346b7e4191d943eb21 100644 --- a/tests/pytest/table/del_stable.py +++ b/tests/pytest/table/del_stable.py @@ -40,13 +40,13 @@ class TDTestCase: try: tdSql.execute("select * from db.st") except Exception as e: - if e.args[0] != 'invalid table name': + if e.args[0] != 'mnode invalid table name': tdLog.exit(e) try: tdSql.execute("select * from db.tb") except Exception as e: - if e.args[0] != 'invalid table name': + if e.args[0] != 'mnode invalid table name': tdLog.exit(e) def stop(self): diff --git a/tests/pytest/table/tablename-boundary.py b/tests/pytest/table/tablename-boundary.py index 6ce986c51e44209bdb68d0bebef8323a71d78d7c..0755e7535577b32c52539ab46259b53096455808 100644 --- a/tests/pytest/table/tablename-boundary.py +++ b/tests/pytest/table/tablename-boundary.py @@ -18,7 +18,10 @@ class TDTestCase: tdSql.prepare() getTableNameLen = "grep -w '#define TSDB_TABLE_NAME_LEN' ../../src/inc/taosdef.h|awk '{print $3}'" - tableNameMaxLen = int( subprocess.check_output(getTableNameLen, shell=True)) - 1 + tableNameMaxLen = int( + subprocess.check_output( + getTableNameLen, + shell=True)) - 1 tdLog.info("table name max length is %d" % tableNameMaxLen) chars = string.ascii_uppercase + string.ascii_lowercase tb_name = ''.join(random.choices(chars, k=tableNameMaxLen)) diff --git a/tests/pytest/tag_lite/change.py b/tests/pytest/tag_lite/change.py index 1f411b7e5a4ca6234878a0e48902912ef2399a70..b8ddc3ff87ae921c9958f3242e681971a1b865ab 100644 --- a/tests/pytest/tag_lite/change.py +++ b/tests/pytest/tag_lite/change.py @@ -84,18 +84,34 @@ class TDTestCase: # TSIM: endi # TSIM: # TSIM: sql alter table $mt change tag tagcx tgcol3 -x step21 + tdLog.info("alter table ta_ch_mt2 change tag tagcx tgcol3 -x step21") + tdSql.error("alter table ta_ch_mt2 change tag tagcx tgcol3") # TSIM: return -1 # TSIM: step21: # TSIM: sql alter table $mt change tag tgcol1 tgcol2 -x step22 + tdLog.info("alter table ta_ch_mt2 change tag tgcol1 tgcol2 -x step22") + tdSql.error("alter table ta_ch_mt2 change tag tgcol1 tgcol2") # TSIM: return -1 # TSIM: step22: - # TSIM: sql alter table $mt change tag tgcol1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -x step20 + # TSIM: sql alter table $mt change tag tgcol1 + # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -x + # step20 + tdLog.info( + "alter table ta_ch_mt2 change tag tgcol1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -x step20") + tdSql.error( + "alter table ta_ch_mt2 change tag tgcol1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -x step20") # TSIM: return -1 # TSIM: step20: # TSIM: # TSIM: sql alter table $mt change tag tgcol1 tgcol3 + tdLog.info("alter table ta_ch_mt2 change tag tgcol1 tgcol3") + tdSql.execute("alter table ta_ch_mt2 change tag tgcol1 tgcol3") # TSIM: sql alter table $mt change tag tgcol2 tgcol4 + tdLog.info("alter table ta_ch_mt2 change tag tgcol2 tgcol4") + tdSql.execute("alter table ta_ch_mt2 change tag tgcol2 tgcol4") # TSIM: sql alter table $mt change tag tgcol4 tgcol3 -x step23 + tdLog.info("alter table ta_ch_mt2 change tag tgcol4 tgcol3 -x step23") + tdSql.error("alter table ta_ch_mt2 change tag tgcol4 tgcol3") # TSIM: return -1 # TSIM: step23: # TSIM: @@ -141,7 +157,11 @@ class TDTestCase: # TSIM: endi # TSIM: # TSIM: sql alter table $mt change tag tgcol1 tgcol3 + tdLog.info("alter table ta_ch_mt3 change tag tgcol1 tgcol3") + tdSql.execute("alter table ta_ch_mt3 change tag tgcol1 tgcol3") # TSIM: sql alter table $mt change tag tgcol2 tgcol4 + tdLog.info("alter table ta_ch_mt3 change tag tgcol2 tgcol4") + tdSql.execute("alter table ta_ch_mt3 change tag tgcol2 tgcol4") # TSIM: # TSIM: print =============== step4 tdLog.info('=============== step4') @@ -185,7 +205,11 @@ class TDTestCase: # TSIM: endi # TSIM: # TSIM: sql alter table $mt change tag tgcol1 tgcol3 + tdLog.info("alter table ta_ch_mt4 change tag tgcol1 tgcol3") + tdSql.execute("alter table ta_ch_mt4 change tag tgcol1 tgcol3") # TSIM: sql alter table $mt change tag tgcol2 tgcol4 + tdLog.info("alter table ta_ch_mt4 change tag tgcol2 tgcol4") + tdSql.execute("alter table ta_ch_mt4 change tag tgcol2 tgcol4") # TSIM: # TSIM: print =============== step5 tdLog.info('=============== step5') @@ -224,12 +248,16 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != 2 then tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql alter table $mt change tag tgcol1 tgcol3 + tdLog.info("alter table ta_ch_mt5 change tag tgcol1 tgcol3") + tdSql.execute("alter table ta_ch_mt5 change tag tgcol1 tgcol3") # TSIM: sql alter table $mt change tag tgcol2 tgcol4 + tdLog.info("alter table ta_ch_mt5 change tag tgcol2 tgcol4") + tdSql.execute("alter table ta_ch_mt5 change tag tgcol2 tgcol4") # TSIM: # TSIM: print =============== step6 tdLog.info('=============== step6') @@ -243,8 +271,10 @@ class TDTestCase: tdSql.execute( 'create table ta_ch_mt6 (ts timestamp, tbcol int) TAGS(tgcol1 binary(10), tgcol2 int, tgcol3 smallint, tgcol4 binary(11), tgcol5 double, tgcol6 binary(20))') # TSIM: sql create table $tb using $mt tags( '1', 2, 3, '4', 5, '6' ) - tdLog.info("create table tb6 using ta_ch_mt6 tags( '1', 2, 3, '4', 5, '6' )") - tdSql.execute("create table tb6 using ta_ch_mt6 tags( '1', 2, 3, '4', 5, '6' )") + tdLog.info( + "create table tb6 using ta_ch_mt6 tags( '1', 2, 3, '4', 5, '6' )") + tdSql.execute( + "create table tb6 using ta_ch_mt6 tags( '1', 2, 3, '4', 5, '6' )") # TSIM: sql insert into $tb values(now, 1) tdLog.info("insert into tb6 values(now, 1)") tdSql.execute("insert into tb6 values(now, 1)") @@ -257,13 +287,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data01 != 1 then - tdLog.info('tdSql.checkData(0, 1, 1)') + tdLog.info("tdSql.checkData(0, 1, 1)") tdSql.checkData(0, 1, 1) # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -278,7 +308,7 @@ class TDTestCase: # TSIM: endi # TSIM: if $data05 != 4 then tdLog.info('tdSql.checkData(0, 5, 4)') - tdSql.checkData(0, 5, 4) + tdSql.checkData(0, 5, '4') # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5.000000000 then @@ -288,22 +318,42 @@ class TDTestCase: # TSIM: endi # TSIM: if $data07 != 6 then tdLog.info('tdSql.checkData(0, 7, 6)') - tdSql.checkData(0, 7, 6) + tdSql.checkData(0, 7, '6') # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql alter table $mt drop tag tgcol3 + tdLog.info("alter table ta_ch_mt6 drop tag tgcol3") + tdSql.execute("alter table ta_ch_mt6 drop tag tgcol3") # TSIM: sql reset query cache + tdLog.info("reset query cache") + tdSql.execute("reset query cache") # TSIM: sql alter table $mt change tag tgcol4 tgcol3 + tdLog.info("alter table ta_ch_mt6 change tag tgcol4 tgcol3") + tdSql.execute("alter table ta_ch_mt6 change tag tgcol4 tgcol3") # TSIM: sql alter table $mt change tag tgcol1 tgcol7 + tdLog.info("alter table ta_ch_mt6 change tag tgcol1 tgcol7") + tdSql.execute("alter table ta_ch_mt6 change tag tgcol1 tgcol7") # TSIM: sql alter table $mt change tag tgcol2 tgcol8 + tdLog.info("alter table ta_ch_mt6 change tag tgcol2 tgcol8") + tdSql.execute("alter table ta_ch_mt6 change tag tgcol2 tgcol8") # TSIM: sql reset query cache + tdLog.info("reset query cache") + tdSql.execute("reset query cache") # TSIM: sql alter table $mt change tag tgcol3 tgcol9 + tdLog.info("alter table ta_ch_mt6 change tag tgcol3 tgcol9") + tdSql.execute("alter table ta_ch_mt6 change tag tgcol3 tgcol9") # TSIM: sql alter table $mt change tag tgcol5 tgcol10 + tdLog.info("alter table ta_ch_mt6 change tag tgcol5 tgcol10") + tdSql.execute("alter table ta_ch_mt6 change tag tgcol5 tgcol10") # TSIM: sql alter table $mt change tag tgcol6 tgcol11 + tdLog.info("alter table ta_ch_mt6 change tag tgcol6 tgcol11") + tdSql.execute("alter table ta_ch_mt6 change tag tgcol6 tgcol11") # TSIM: # TSIM: sleep 5000 # TSIM: sql reset query cache + tdLog.info("reset query cache") + tdSql.execute("reset query cache") # TSIM: # TSIM: print =============== step2 tdLog.info('=============== step2') @@ -313,12 +363,12 @@ class TDTestCase: # TSIM: # TSIM: sql select * from $mt where tgcol1 = 1 -x step24 tdLog.info('select * from ta_ch_mt2 where tgcol1 = 1 -x step24') - tdSql.error('select * from ta_ch_mt2 where tgcol1 = 14') + tdSql.error("select * from ta_ch_mt2 where tgcol1 = 1") # TSIM: return -1 # TSIM: step24: # TSIM: sql select * from $mt where tgcol2 = 1 -x step25 tdLog.info('select * from ta_ch_mt2 where tgcol2 = 1 -x step25') - tdSql.error('select * from ta_ch_mt2 where tgcol2 = 15') + tdSql.error('select * from ta_ch_mt2 where tgcol2 = 1') # TSIM: return -1 # TSIM: step25: # TSIM: @@ -382,12 +432,12 @@ class TDTestCase: # TSIM: # TSIM: sql select * from $mt where tgcol1 = 1 -x step31 tdLog.info('select * from ta_ch_mt3 where tgcol1 = 1 -x step31') - tdSql.error('select * from ta_ch_mt3 where tgcol1 = 11') + tdSql.error('select * from ta_ch_mt3 where tgcol1 = 1') # TSIM: return -1 # TSIM: step31: # TSIM: sql select * from $mt where tgcol2 = 1 -x step32 tdLog.info('select * from ta_ch_mt3 where tgcol2 = 1 -x step32') - tdSql.error('select * from ta_ch_mt3 where tgcol2 = 12') + tdSql.error('select * from ta_ch_mt3 where tgcol2 = 1') # TSIM: return -1 # TSIM: step32: # TSIM: @@ -418,8 +468,8 @@ class TDTestCase: # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol4 = 2 - tdLog.info('select * from $mt where tgcol4 = 2') - tdSql.query('select * from $mt where tgcol4 = 2') + tdLog.info('select * from ta_ch_mt3 where tgcol4 = 2') + tdSql.query('select * from ta_ch_mt3 where tgcol4 = 2') # TSIM: print $data01 $data02 $data03 tdLog.info('$data01 $data02 $data03') # TSIM: if $rows != 1 then @@ -551,7 +601,7 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != 2 then tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: @@ -577,7 +627,7 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != 2 then tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: @@ -589,32 +639,32 @@ class TDTestCase: # TSIM: # TSIM: sql select * from $mt where tgcol1 = 1 -x step61 tdLog.info('select * from ta_ch_mt6 where tgcol1 = 1 -x step61') - tdSql.error('select * from ta_ch_mt6 where tgcol1 = 11') + tdSql.error('select * from ta_ch_mt6 where tgcol1 = 1') # TSIM: return -1 # TSIM: step61: # TSIM: sql select * from $mt where tgcol2 = 1 -x step62 tdLog.info('select * from ta_ch_mt6 where tgcol2 = 1 -x step62') - tdSql.error('select * from ta_ch_mt6 where tgcol2 = 12') + tdSql.error('select * from ta_ch_mt6 where tgcol2 = 1') # TSIM: return -1 # TSIM: step62: # TSIM: sql select * from $mt where tgcol3 = 1 -x step63 tdLog.info('select * from ta_ch_mt6 where tgcol3 = 1 -x step63') - tdSql.error('select * from ta_ch_mt6 where tgcol3 = 13') + tdSql.error('select * from ta_ch_mt6 where tgcol3 = 1') # TSIM: return -1 # TSIM: step63: # TSIM: sql select * from $mt where tgcol4 = 1 -x step64 tdLog.info('select * from ta_ch_mt6 where tgcol4 = 1 -x step64') - tdSql.error('select * from ta_ch_mt6 where tgcol4 = 14') + tdSql.error('select * from ta_ch_mt6 where tgcol4 = 1') # TSIM: return -1 # TSIM: step64: # TSIM: sql select * from $mt where tgcol5 = 1 -x step65 tdLog.info('select * from ta_ch_mt6 where tgcol5 = 1 -x step65') - tdSql.error('select * from ta_ch_mt6 where tgcol5 = 15') + tdSql.error('select * from ta_ch_mt6 where tgcol5 = 1') # TSIM: return -1 # TSIM: step65: # TSIM: sql select * from $mt where tgcol6 = 1 -x step66 tdLog.info('select * from ta_ch_mt6 where tgcol6 = 1 -x step66') - tdSql.error('select * from ta_ch_mt6 where tgcol6 = 16') + tdSql.error('select * from ta_ch_mt6 where tgcol6 = 1') # TSIM: return -1 # TSIM: step66: # TSIM: @@ -634,8 +684,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -644,8 +694,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 4 then - tdLog.info('tdSql.checkData(0, 4, 4)') - tdSql.checkData(0, 4, 4) + tdLog.info('tdSql.checkData(0, 4, "4")') + tdSql.checkData(0, 4, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 5.000000000 then @@ -654,13 +704,18 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 6 then - tdLog.info('tdSql.checkData(0, 6, 6)') - tdSql.checkData(0, 6, 6) + tdLog.info('tdSql.checkData(0, 6, "6")') + tdSql.checkData(0, 6, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -680,8 +735,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -690,8 +745,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 4 then - tdLog.info('tdSql.checkData(0, 4, 4)') - tdSql.checkData(0, 4, 4) + tdLog.info('tdSql.checkData(0, 4, "4"")') + tdSql.checkData(0, 4, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 5.000000000 then @@ -700,13 +755,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 6 then - tdLog.info('tdSql.checkData(0, 6, 6)') - tdSql.checkData(0, 6, 6) + tdLog.info('tdSql.checkData(0, 6, "6")') + tdSql.checkData(0, 6, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -726,8 +785,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -736,8 +795,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 4 then - tdLog.info('tdSql.checkData(0, 4, 4)') - tdSql.checkData(0, 4, 4) + tdLog.info('tdSql.checkData(0, 4, "4")') + tdSql.checkData(0, 4, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 5.000000000 then @@ -746,13 +805,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 6 then - tdLog.info('tdSql.checkData(0, 6, 6)') - tdSql.checkData(0, 6, 6) + tdLog.info('tdSql.checkData(0, 6, "6")') + tdSql.checkData(0, 6, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -772,8 +835,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -782,8 +845,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 4 then - tdLog.info('tdSql.checkData(0, 4, 4)') - tdSql.checkData(0, 4, 4) + tdLog.info('tdSql.checkData(0, 4, "4")') + tdSql.checkData(0, 4, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 5.000000000 then @@ -792,13 +855,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 6 then - tdLog.info('tdSql.checkData(0, 6, 6)') - tdSql.checkData(0, 6, 6) + tdLog.info('tdSql.checkData(0, 6, "6")') + tdSql.checkData(0, 6, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -818,8 +885,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -828,8 +895,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 4 then - tdLog.info('tdSql.checkData(0, 4, 4)') - tdSql.checkData(0, 4, 4) + tdLog.info('tdSql.checkData(0, 4, "4")') + tdSql.checkData(0, 4, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 5.000000000 then @@ -838,13 +905,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 6 then - tdLog.info('tdSql.checkData(0, 6, 6)') - tdSql.checkData(0, 6, 6) + tdLog.info('tdSql.checkData(0, 6, "6")') + tdSql.checkData(0, 6, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: diff --git a/tests/pytest/tag_lite/commit.py b/tests/pytest/tag_lite/commit.py index 478520a58618571ed44d08c8efc3f14c60735888..8b69d4aa5f482340012c53a4be1c2b9c8c1b2e92 100644 --- a/tests/pytest/tag_lite/commit.py +++ b/tests/pytest/tag_lite/commit.py @@ -296,13 +296,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data23 != 1 then - tdLog.info('tdSql.checkData(2, 3, 1)') - tdSql.checkData(2, 3, 1) + tdLog.info('tdSql.checkData(2, 3, "TAG")') + tdSql.checkData(2, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: if $data33 != 2.000000 then - tdLog.info('tdSql.checkData(3, 3, 2.000000)') - tdSql.checkData(3, 3, 2.000000) + tdLog.info('tdSql.checkData(3, 3, "TAG")') + tdSql.checkData(3, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: @@ -395,8 +395,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: @@ -552,13 +552,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 5 then - tdLog.info('tdSql.checkData(0, 3, 5)') - tdSql.checkData(0, 3, 5) + tdLog.info('tdSql.checkData(0, 3, "5")') + tdSql.checkData(0, 3, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 6 then - tdLog.info('tdSql.checkData(0, 4, 6)') - tdSql.checkData(0, 4, 6) + tdLog.info('tdSql.checkData(0, 4, "6")') + tdSql.checkData(0, 4, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -583,13 +583,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 5 then - tdLog.info('tdSql.checkData(0, 3, 5)') - tdSql.checkData(0, 3, 5) + tdLog.info('tdSql.checkData(0, 3, "5")') + tdSql.checkData(0, 3, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 6 then - tdLog.info('tdSql.checkData(0, 4, 6)') - tdSql.checkData(0, 4, 6) + tdLog.info('tdSql.checkData(0, 4, "6")') + tdSql.checkData(0, 4, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -653,8 +653,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: @@ -778,8 +778,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: @@ -835,8 +835,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 5 then - tdLog.info('tdSql.checkData(0, 3, 5)') - tdSql.checkData(0, 3, 5) + tdLog.info('tdSql.checkData(0, 3, "5")') + tdSql.checkData(0, 3, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 1 then @@ -897,13 +897,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1021,29 +1021,29 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then - tdLog.info('tdSql.checkData(0, 5, 4)') - tdSql.checkData(0, 5, 4) + tdLog.info('tdSql.checkData(0, 5, "4")') + tdSql.checkData(0, 5, "4") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql alter table $mt change tag tgcol1 tgcol4 -x step103 tdLog.info('alter table %s change tag tgcol1 tgcol4 -x step103' % (mt)) - tdSql.error('alter table %s change tag tgcol1 tgcol403' % (mt)) + tdSql.error('alter table %s change tag tgcol1 tgcol4' % (mt)) # TSIM: return -1 # TSIM: step103: # TSIM: @@ -1095,13 +1095,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 4 then - tdLog.info('tdSql.checkData(0, 3, 4)') - tdSql.checkData(0, 3, 4) + tdLog.info('tdSql.checkData(0, 3, "4")') + tdSql.checkData(0, 3, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 0 then @@ -1111,18 +1111,22 @@ class TDTestCase: # TSIM: endi # TSIM: if $data05 != NULL then tdLog.info('tdSql.checkData(0, 5, NULL)') - tdSql.checkData(0, 5, None) + try: + tdSql.checkData(0, 5, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step101 tdLog.info('select * from %s where tgcol2 = 1 -x step101' % (mt)) - tdSql.error('select * from %s where tgcol2 = 101' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step101: # TSIM: sql select * from $mt where tgcol3 = 1 -x step102 tdLog.info('select * from %s where tgcol3 = 1 -x step102' % (mt)) - tdSql.error('select * from %s where tgcol3 = 102' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step102: # TSIM: @@ -1186,14 +1190,14 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5 then - tdLog.info('tdSql.checkData(0, 6, 5)') - tdSql.checkData(0, 6, 5) + tdLog.info('tdSql.checkData(0, 6, "5")') + tdSql.checkData(0, 6, "5") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql alter table $mt change tag tgcol1 tgcol4 -x step114 tdLog.info('alter table %s change tag tgcol1 tgcol4 -x step114' % (mt)) - tdSql.error('alter table %s change tag tgcol1 tgcol414' % (mt)) + tdSql.error('alter table %s change tag tgcol1 tgcol4' % (mt)) # TSIM: return -1 # TSIM: step114: # TSIM: @@ -1271,8 +1275,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 4 then - tdLog.info('tdSql.checkData(0, 3, 4)') - tdSql.checkData(0, 3, 4) + tdLog.info('tdSql.checkData(0, 3, "4")') + tdSql.checkData(0, 3, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 5 then @@ -1281,8 +1285,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 6 then - tdLog.info('tdSql.checkData(0, 5, 6)') - tdSql.checkData(0, 5, 6) + tdLog.info('tdSql.checkData(0, 5, "6")') + tdSql.checkData(0, 5, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 7 then @@ -1298,17 +1302,17 @@ class TDTestCase: # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step111 tdLog.info('select * from %s where tgcol2 = 1 -x step111' % (mt)) - tdSql.error('select * from %s where tgcol2 = 111' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step111: # TSIM: sql select * from $mt where tgcol3 = 1 -x step112 tdLog.info('select * from %s where tgcol3 = 1 -x step112' % (mt)) - tdSql.error('select * from %s where tgcol3 = 112' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step112: # TSIM: sql select * from $mt where tgcol9 = 1 -x step113 tdLog.info('select * from %s where tgcol9 = 1 -x step113' % (mt)) - tdSql.error('select * from %s where tgcol9 = 113' % (mt)) + tdSql.error('select * from %s where tgcol9 = 1' % (mt)) # TSIM: return -1 # TSIM: step113: # TSIM: @@ -1373,13 +1377,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5 then - tdLog.info('tdSql.checkData(0, 6, 5)') - tdSql.checkData(0, 6, 5) + tdLog.info('tdSql.checkData(0, 6, "5")') + tdSql.checkData(0, 6, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 6 then - tdLog.info('tdSql.checkData(0, 7, 6)') - tdSql.checkData(0, 7, 6) + tdLog.info('tdSql.checkData(0, 7, "6")') + tdSql.checkData(0, 7, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1457,13 +1461,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 1 then - tdLog.info('tdSql.checkData(0, 3, 1)') - tdSql.checkData(0, 3, 1) + tdLog.info('tdSql.checkData(0, 3, "1")') + tdSql.checkData(0, 3, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 5 then - tdLog.info('tdSql.checkData(0, 4, 5)') - tdSql.checkData(0, 4, 5) + tdLog.info('tdSql.checkData(0, 4, "5")') + tdSql.checkData(0, 4, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then @@ -1472,8 +1476,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 3 then - tdLog.info('tdSql.checkData(0, 6, 3)') - tdSql.checkData(0, 6, 3) + tdLog.info('tdSql.checkData(0, 6, "3")') + tdSql.checkData(0, 6, "3") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 2 then @@ -1559,8 +1563,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -1574,8 +1578,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then - tdLog.info('tdSql.checkData(0, 5, 4)') - tdSql.checkData(0, 5, 4) + tdLog.info('tdSql.checkData(0, 5, "4")') + tdSql.checkData(0, 5, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5.000000000 then @@ -1584,8 +1588,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 6 then - tdLog.info('tdSql.checkData(0, 7, 6)') - tdSql.checkData(0, 7, 6) + tdLog.info('tdSql.checkData(0, 7, "6")') + tdSql.checkData(0, 7, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1652,8 +1656,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 9 then @@ -1667,8 +1671,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 8 then - tdLog.info('tdSql.checkData(0, 5, 8)') - tdSql.checkData(0, 5, 8) + tdLog.info('tdSql.checkData(0, 5, "8")') + tdSql.checkData(0, 5, "8") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 10 then @@ -1867,13 +1871,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 5 then - tdLog.info('tdSql.checkData(0, 3, 5)') - tdSql.checkData(0, 3, 5) + tdLog.info('tdSql.checkData(0, 3, "5")') + tdSql.checkData(0, 3, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 6 then - tdLog.info('tdSql.checkData(0, 4, 6)') - tdSql.checkData(0, 4, 6) + tdLog.info('tdSql.checkData(0, 4, "6")') + tdSql.checkData(0, 4, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1898,13 +1902,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 5 then - tdLog.info('tdSql.checkData(0, 3, 5)') - tdSql.checkData(0, 3, 5) + tdLog.info(': tdSql.checkData(0, 3, "5")') + tdSql.checkData(0, 3, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 6 then - tdLog.info('tdSql.checkData(0, 4, 6)') - tdSql.checkData(0, 4, 6) + tdLog.info('tdSql.checkData(0, 4, "6")') + tdSql.checkData(0, 4, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1988,8 +1992,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 5 then - tdLog.info('tdSql.checkData(0, 3, 5)') - tdSql.checkData(0, 3, 5) + tdLog.info('tdSql.checkData(0, 3, "5")') + tdSql.checkData(0, 3, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 1 then @@ -2065,13 +2069,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 4 then - tdLog.info('tdSql.checkData(0, 3, 4)') - tdSql.checkData(0, 3, 4) + tdLog.info('tdSql.checkData(0, 3, "4")') + tdSql.checkData(0, 3, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 0 then @@ -2081,7 +2085,11 @@ class TDTestCase: # TSIM: endi # TSIM: if $data05 != NULL then tdLog.info('tdSql.checkData(0, 5, NULL)') - tdSql.checkData(0, 5, None) + try: + tdSql.checkData(0, 5, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -2115,8 +2123,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 4 then - tdLog.info('tdSql.checkData(0, 3, 4)') - tdSql.checkData(0, 3, 4) + tdLog.info('tdSql.checkData(0, 3, "4")') + tdSql.checkData(0, 3, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 5 then @@ -2125,8 +2133,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 6 then - tdLog.info('tdSql.checkData(0, 5, 6)') - tdSql.checkData(0, 5, 6) + tdLog.info('tdSql.checkData(0, 5, "6")') + tdSql.checkData(0, 5, "6") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 7 then @@ -2171,13 +2179,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 1 then - tdLog.info('tdSql.checkData(0, 3, 1)') - tdSql.checkData(0, 3, 1) + tdLog.info('tdSql.checkData(0, 3, "1")') + tdSql.checkData(0, 3, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 5 then - tdLog.info('tdSql.checkData(0, 4, 5)') - tdSql.checkData(0, 4, 5) + tdLog.info('tdSql.checkData(0, 4, "5")') + tdSql.checkData(0, 4, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then @@ -2186,8 +2194,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 3 then - tdLog.info('tdSql.checkData(0, 6, 3)') - tdSql.checkData(0, 6, 3) + tdLog.info('tdSql.checkData(0, 6, "3")') + tdSql.checkData(0, 6, "3") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 2 then @@ -2257,8 +2265,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 9 then @@ -2272,8 +2280,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 8 then - tdLog.info('tdSql.checkData(0, 5, 8)') - tdSql.checkData(0, 5, 8) + tdLog.info('tdSql.checkData(0, 5, "8")') + tdSql.checkData(0, 5, "8") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 10 then @@ -2290,8 +2298,8 @@ class TDTestCase: # TSIM: print =============== clear tdLog.info('=============== clear') # TSIM: sql drop database $db - tdLog.info('sql drop database $db') - tdSql.execute('sql drop database $db') + tdLog.info('drop database db') + tdSql.execute('drop database db') # TSIM: sql show databases tdLog.info('show databases') tdSql.query('show databases') diff --git a/tests/pytest/tag_lite/delete.py b/tests/pytest/tag_lite/delete.py index 88615e04064cb3b1fd50c6c2bd8909202968471c..17b4deb815e7a05aaa5eaf33685b95e144d3d59b 100644 --- a/tests/pytest/tag_lite/delete.py +++ b/tests/pytest/tag_lite/delete.py @@ -208,14 +208,14 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data23 != 1 then - tdLog.info('tdSql.checkData(2, 3, 1)') - tdSql.checkData(2, 3, 1) + tdLog.info('tdSql.checkData(2, 3, "TAG")') + tdSql.checkData(2, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql alter table $mt drop tag tgcol1 -x step40 tdLog.info('alter table %s drop tag tgcol1 -x step40' % (mt)) - tdSql.error('alter table %s drop tag tgcol10' % (mt)) + tdSql.error('alter table %s drop tag tgcol1' % (mt)) # TSIM: return -1 # TSIM: step40: # TSIM: sql alter table $mt drop tag tgcol2 @@ -263,14 +263,14 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql alter table $mt drop tag tgcol1 -x step50 tdLog.info('alter table %s drop tag tgcol1 -x step50' % (mt)) - tdSql.error('alter table %s drop tag tgcol10' % (mt)) + tdSql.error('alter table %s drop tag tgcol1' % (mt)) # TSIM: return -1 # TSIM: step50: # TSIM: sql alter table $mt drop tag tgcol2 @@ -381,8 +381,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: @@ -420,18 +420,18 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data23 != 1 then - tdLog.info('tdSql.checkData(2, 3, 1)') - tdSql.checkData(2, 3, 1) + tdLog.info('tdSql.checkData(2, 3, "TAG")') + tdSql.checkData(2, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: if $data33 != 2 then - tdLog.info('tdSql.checkData(3, 3, 2)') - tdSql.checkData(3, 3, 2) + tdLog.info('tdSql.checkData(3, 3, "TAG")') + tdSql.checkData(3, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: if $data43 != 3 then - tdLog.info('tdSql.checkData(4, 3, 3)') - tdSql.checkData(4, 3, 3) + tdLog.info('tdSql.checkData(4, 3, "TAG")') + tdSql.checkData(4, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: @@ -488,8 +488,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: @@ -543,13 +543,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: @@ -600,23 +600,23 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 3 then - tdLog.info('tdSql.checkData(0, 4, 3)') - tdSql.checkData(0, 4, 3) + tdLog.info('tdSql.checkData(0, 4, "3")') + tdSql.checkData(0, 4, "3") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then - tdLog.info('tdSql.checkData(0, 5, 4)') - tdSql.checkData(0, 5, 4) + tdLog.info('tdSql.checkData(0, 5, "4")') + tdSql.checkData(0, 5, "4") # TSIM: return -1 # TSIM: endi # TSIM: @@ -690,8 +690,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5 then - tdLog.info('tdSql.checkData(0, 6, 5)') - tdSql.checkData(0, 6, 5) + tdLog.info('tdSql.checkData(0, 6, "5")') + tdSql.checkData(0, 6, "5") # TSIM: return -1 # TSIM: endi # TSIM: @@ -766,13 +766,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5 then - tdLog.info('tdSql.checkData(0, 6, 5)') - tdSql.checkData(0, 6, 5) + tdLog.info('tdSql.checkData(0, 6, "5")') + tdSql.checkData(0, 6, "5") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 6 then - tdLog.info('tdSql.checkData(0, 7, 6)') - tdSql.checkData(0, 7, 6) + tdLog.info('tdSql.checkData(0, 7, "6")') + tdSql.checkData(0, 7, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -830,8 +830,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -845,8 +845,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then - tdLog.info('tdSql.checkData(0, 5, 4)') - tdSql.checkData(0, 5, 4) + tdLog.info('tdSql.checkData(0, 5, "4")') + tdSql.checkData(0, 5, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5.000000000 then @@ -855,8 +855,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 6 then - tdLog.info('tdSql.checkData(0, 7, 6)') - tdSql.checkData(0, 7, 6) + tdLog.info('tdSql.checkData(0, 7, "6")') + tdSql.checkData(0, 7, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -903,7 +903,11 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -944,7 +948,11 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -985,7 +993,11 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1026,7 +1038,11 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -1067,23 +1083,27 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step51 tdLog.info('select * from %s where tgcol2 = 1 -x step51' % (mt)) - tdSql.error('select * from %s where tgcol2 = 11' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step51: # TSIM: sql select * from $mt where tgcol3 = 1 -x step52 tdLog.info('select * from %s where tgcol3 = 1 -x step52' % (mt)) - tdSql.error('select * from %s where tgcol3 = 12' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step52: # TSIM: @@ -1118,23 +1138,27 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step71 tdLog.info('select * from %s where tgcol2 = 1 -x step71' % (mt)) - tdSql.error('select * from %s where tgcol2 = 11' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step71: # TSIM: sql select * from $mt where tgcol3 = 1 -x step72 tdLog.info('select * from %s where tgcol3 = 1 -x step72' % (mt)) - tdSql.error('select * from %s where tgcol3 = 12' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step72: # TSIM: @@ -1169,23 +1193,27 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step81 tdLog.info('select * from %s where tgcol2 = 1 -x step81' % (mt)) - tdSql.error('select * from %s where tgcol2 = 11' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step81: # TSIM: sql select * from $mt where tgcol3 = 1 -x step82 tdLog.info('select * from %s where tgcol3 = 1 -x step82' % (mt)) - tdSql.error('select * from %s where tgcol3 = 12' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step82: # TSIM: @@ -1220,23 +1248,27 @@ class TDTestCase: # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol3 = 1 -x step91 tdLog.info('select * from %s where tgcol3 = 1 -x step91' % (mt)) - tdSql.error('select * from %s where tgcol3 = 11' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step91: # TSIM: sql select * from $mt where tgcol2 = 1 -x step92 tdLog.info('select * from %s where tgcol2 = 1 -x step92' % (mt)) - tdSql.error('select * from %s where tgcol2 = 12' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step92: # TSIM: @@ -1265,39 +1297,43 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != NULL then tdLog.info('tdSql.checkData(0, 3, NULL)') - tdSql.checkData(0, 3, None) + try: + tdSql.checkData(0, 3, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != NULL then - tdLog.info('tdSql.checkData(0, 5, NULL)') - tdSql.checkData(0, 5, None) + tdLog.info('tdSql.checkData(0, 5, NULL) out of range') + # tdSql.checkData(0, 5, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step101 tdLog.info('select * from %s where tgcol2 = 1 -x step101' % (mt)) - tdSql.error('select * from %s where tgcol2 = 101' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step101: # TSIM: sql select * from $mt where tgcol3 = 1 -x step102 tdLog.info('select * from %s where tgcol3 = 1 -x step102' % (mt)) - tdSql.error('select * from %s where tgcol3 = 102' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step102: # TSIM: sql select * from $mt where tgcol4 = 1 -x step103 tdLog.info('select * from %s where tgcol4 = 1 -x step103' % (mt)) - tdSql.error('select * from %s where tgcol4 = 103' % (mt)) + tdSql.error('select * from %s where tgcol4 = 1' % (mt)) # TSIM: return -1 # TSIM: step103: # TSIM: @@ -1336,34 +1372,34 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != NULL then - tdLog.info('tdSql.checkData(0, 5, NULL)') - tdSql.checkData(0, 5, None) + tdLog.info('tdSql.checkData(0, 5, NULL) out of range') + # tdSql.checkData(0, 5, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != NULL then - tdLog.info('tdSql.checkData(0, 6, NULL)') - tdSql.checkData(0, 6, None) + tdLog.info('tdSql.checkData(0, 6, NULL) out of range') + # tdSql.checkData(0, 6, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step111 tdLog.info('select * from %s where tgcol2 = 1 -x step111' % (mt)) - tdSql.error('select * from %s where tgcol2 = 111' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step111: # TSIM: sql select * from $mt where tgcol3 = 1 -x step112 tdLog.info('select * from %s where tgcol3 = 1 -x step112' % (mt)) - tdSql.error('select * from %s where tgcol3 = 112' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step112: # TSIM: sql select * from $mt where tgcol5 = 1 -x step113 tdLog.info('select * from %s where tgcol5 = 1 -x step113' % (mt)) - tdSql.error('select * from %s where tgcol5 = 113' % (mt)) + tdSql.error('select * from %s where tgcol5 = 1' % (mt)) # TSIM: return -1 # TSIM: step113: # TSIM: @@ -1402,44 +1438,44 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != NULL then - tdLog.info('tdSql.checkData(0, 4, NULL)') - tdSql.checkData(0, 4, None) + tdLog.info('tdSql.checkData(0, 4, NULL) out of range') + # tdSql.checkData(0, 4, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != NULL then - tdLog.info('tdSql.checkData(0, 5, NULL)') - tdSql.checkData(0, 5, None) + tdLog.info('tdSql.checkData(0, 5, NULL) out of range') + # tdSql.checkData(0, 5, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != NULL then - tdLog.info('tdSql.checkData(0, 6, NULL)') - tdSql.checkData(0, 6, None) + tdLog.info('tdSql.checkData(0, 6, NULL) out of range') + # tdSql.checkData(0, 6, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then - tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + tdLog.info('tdSql.checkData(0, 7, NULL) out of range') + # tdSql.checkData(0, 7, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol2 = 1 -x step120 tdLog.info('select * from %s where tgcol2 = 1 -x step120' % (mt)) - tdSql.error('select * from %s where tgcol2 = 120' % (mt)) + tdSql.error('select * from %s where tgcol2 = 1' % (mt)) # TSIM: return -1 # TSIM: step120: # TSIM: sql select * from $mt where tgcol3 = 1 -x step121 tdLog.info('select * from %s where tgcol3 = 1 -x step121' % (mt)) - tdSql.error('select * from %s where tgcol3 = 121' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step121: # TSIM: sql select * from $mt where tgcol5 = 1 -x step122 tdLog.info('select * from %s where tgcol5 = 1 -x step122' % (mt)) - tdSql.error('select * from %s where tgcol5 = 122' % (mt)) + tdSql.error('select * from %s where tgcol5 = 1' % (mt)) # TSIM: return -1 # TSIM: step122: # TSIM: sql select * from $mt where tgcol6 = 1 -x step123 tdLog.info('select * from %s where tgcol6 = 1 -x step123' % (mt)) - tdSql.error('select * from %s where tgcol6 = 123' % (mt)) + tdSql.error('select * from %s where tgcol6 = 1' % (mt)) # TSIM: return -1 # TSIM: step123: # TSIM: @@ -1471,8 +1507,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -1486,34 +1522,34 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != NULL then - tdLog.info('tdSql.checkData(0, 5, NULL)') - tdSql.checkData(0, 5, None) + tdLog.info('tdSql.checkData(0, 5, NULL) out of range') + # tdSql.checkData(0, 5, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != NULL then - tdLog.info('tdSql.checkData(0, 6, NULL)') - tdSql.checkData(0, 6, None) + tdLog.info('tdSql.checkData(0, 6, NULL) out of range') + # tdSql.checkData(0, 6, None) # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then - tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + tdLog.info('tdSql.checkData(0, 7, NULL) out of range') + # tdSql.checkData(0, 7, None) # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: sql select * from $mt where tgcol3 = 1 -x step130 tdLog.info('select * from %s where tgcol3 = 1 -x step130' % (mt)) - tdSql.error('select * from %s where tgcol3 = 130' % (mt)) + tdSql.error('select * from %s where tgcol3 = 1' % (mt)) # TSIM: return -1 # TSIM: step130: # TSIM: sql select * from $mt where tgcol4 = 1 -x step131 tdLog.info('select * from %s where tgcol4 = 1 -x step131' % (mt)) - tdSql.error('select * from %s where tgcol4 = 131' % (mt)) + tdSql.error('select * from %s where tgcol4 = 1' % (mt)) # TSIM: return -1 # TSIM: step131: # TSIM: sql select * from $mt where tgcol6 = 1 -x step133 tdLog.info('select * from %s where tgcol6 = 1 -x step133' % (mt)) - tdSql.error('select * from %s where tgcol6 = 133' % (mt)) + tdSql.error('select * from %s where tgcol6 = 1' % (mt)) # TSIM: return -1 # TSIM: step133: # TSIM: @@ -1542,23 +1578,23 @@ class TDTestCase: # TSIM: # TSIM: sql alter table xxmt drop tag tag1 -x step141 tdLog.info('alter table xxmt drop tag tag1 -x step141') - tdSql.error('alter table xxmt drop tag tag141') + tdSql.error('alter table xxmt drop tag tag1') # TSIM: return -1 # TSIM: step141: # TSIM: sql alter table $tb drop tag tag1 -x step142 tdLog.info('alter table %s drop tag tag1 -x step142' % (tb)) - tdSql.error('alter table %s drop tag tag142' % (tb)) + tdSql.error('alter table %s drop tag tag1' % (tb)) # TSIM: return -1 # TSIM: step142: # TSIM: sql alter table $mt drop tag tag1 -x step143 tdLog.info('alter table %s drop tag tag1 -x step143' % (mt)) - tdSql.error('alter table %s drop tag tag143' % (mt)) + tdSql.error('alter table %s drop tag tag1' % (mt)) # TSIM: return -1 # TSIM: step143: # TSIM: # TSIM: sql alter table $mt drop tag tagcol1 -x step144 tdLog.info('alter table %s drop tag tagcol1 -x step144' % (mt)) - tdSql.error('alter table %s drop tag tagcol144' % (mt)) + tdSql.error('alter table %s drop tag tagcol1' % (mt)) # TSIM: return -1 # TSIM: step144: # TSIM: @@ -1567,15 +1603,15 @@ class TDTestCase: tdSql.execute('alter table %s drop tag tgcol2' % (mt)) # TSIM: sql alter table $mt drop tag tgcol1 -x step145 tdLog.info('alter table %s drop tag tgcol1 -x step145' % (mt)) - tdSql.error('alter table %s drop tag tgcol145' % (mt)) + tdSql.error('alter table %s drop tag tgcol1' % (mt)) # TSIM: return -1 # TSIM: step145: # TSIM: # TSIM: print =============== clear tdLog.info('=============== clear') # TSIM: sql drop database $db - tdLog.info('sql drop database $db') - tdSql.execute('sql drop database $db') + tdLog.info('drop database db') + tdSql.execute('drop database db') # TSIM: sql show databases tdLog.info('show databases') tdSql.query('show databases') diff --git a/tests/pytest/tag_lite/set.py b/tests/pytest/tag_lite/set.py index 2573600dc46ce3f6d54ab54471ab6f3cd40f7f16..1e3cdfaa93b4df421d12837af0b0db043ea92abd 100644 --- a/tests/pytest/tag_lite/set.py +++ b/tests/pytest/tag_lite/set.py @@ -178,13 +178,13 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data23 != false then - tdLog.info('tdSql.checkData(2, 3, false)') - tdSql.checkData(2, 3, false) + tdLog.info('tdSql.checkData(2, 3, "TAG")') + tdSql.checkData(2, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: if $data33 != 4 then - tdLog.info('tdSql.checkData(3, 3, 4)') - tdSql.checkData(3, 3, 4) + tdLog.info('tdSql.checkData(3, 3, "TAG")') + tdSql.checkData(3, 3, "TAG") # TSIM: return -1 # TSIM: endi # TSIM: @@ -458,8 +458,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then - tdLog.info('tdSql.checkData(0, 3, 2)') - tdSql.checkData(0, 3, 2) + tdLog.info('tdSql.checkData(0, 3, "2")') + tdSql.checkData(0, 3, "2") # TSIM: return -1 # TSIM: endi # TSIM: @@ -495,8 +495,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 4 then - tdLog.info('tdSql.checkData(0, 3, 4)') - tdSql.checkData(0, 3, 4) + tdLog.info('tdSql.checkData(0, 3, "4")') + tdSql.checkData(0, 3, "4") # TSIM: return -1 # TSIM: endi # TSIM: @@ -521,8 +521,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 4 then - tdLog.info('tdSql.checkData(0, 3, 4)') - tdSql.checkData(0, 3, 4) + tdLog.info('tdSql.checkData(0, 3, "4")') + tdSql.checkData(0, 3, "4") # TSIM: return -1 # TSIM: endi # TSIM: @@ -567,8 +567,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 1 then - tdLog.info('tdSql.checkData(0, 2, 1)') - tdSql.checkData(0, 2, 1) + tdLog.info('tdSql.checkData(0, 2, "1")') + tdSql.checkData(0, 2, "1") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 2 then @@ -582,8 +582,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 4 then - tdLog.info('tdSql.checkData(0, 5, 4)') - tdSql.checkData(0, 5, 4) + tdLog.info('tdSql.checkData(0, 5, "4")') + tdSql.checkData(0, 5, "4") # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 5.000000000 then @@ -592,8 +592,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != 6 then - tdLog.info('tdSql.checkData(0, 7, 6)') - tdSql.checkData(0, 7, 6) + tdLog.info('tdSql.checkData(0, 7, "6")') + tdSql.checkData(0, 7, "6") # TSIM: return -1 # TSIM: endi # TSIM: @@ -636,8 +636,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 8 then @@ -646,8 +646,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 9 then - tdLog.info('tdSql.checkData(0, 4, 9)') - tdSql.checkData(0, 4, 9) + tdLog.info('tdSql.checkData(0, 4, "9")') + tdSql.checkData(0, 4, "9") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 10.000000000 then @@ -656,13 +656,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 11 then - tdLog.info('tdSql.checkData(0, 6, 11)') - tdSql.checkData(0, 6, 11) + tdLog.info('tdSql.checkData(0, 6, "11")') + tdSql.checkData(0, 6, "11") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -682,8 +686,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 8 then @@ -692,8 +696,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 9 then - tdLog.info('tdSql.checkData(0, 4, 9)') - tdSql.checkData(0, 4, 9) + tdLog.info('tdSql.checkData(0, 4, "9")') + tdSql.checkData(0, 4, "9") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 10.000000000 then @@ -702,13 +706,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 11 then - tdLog.info('tdSql.checkData(0, 6, 11)') - tdSql.checkData(0, 6, 11) + tdLog.info('tdSql.checkData(0, 6, "11")') + tdSql.checkData(0, 6, "11") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -728,8 +736,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 8 then @@ -738,8 +746,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 9 then - tdLog.info('tdSql.checkData(0, 4, 9)') - tdSql.checkData(0, 4, 9) + tdLog.info('tdSql.checkData(0, 4, "9")') + tdSql.checkData(0, 4, "9") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 10.000000000 then @@ -748,13 +756,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 11 then - tdLog.info('tdSql.checkData(0, 6, 11)') - tdSql.checkData(0, 6, 11) + tdLog.info('tdSql.checkData(0, 6, "11")') + tdSql.checkData(0, 6, "11") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -774,8 +786,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 8 then @@ -784,8 +796,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 9 then - tdLog.info('tdSql.checkData(0, 4, 9)') - tdSql.checkData(0, 4, 9) + tdLog.info('tdSql.checkData(0, 4, "9")') + tdSql.checkData(0, 4, "9") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 10.000000000 then @@ -794,13 +806,17 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 11 then - tdLog.info('tdSql.checkData(0, 6, 11)') - tdSql.checkData(0, 6, 11) + tdLog.info('tdSql.checkData(0, 6, "11")') + tdSql.checkData(0, 6, "11") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: @@ -820,8 +836,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data02 != 7 then - tdLog.info('tdSql.checkData(0, 2, 7)') - tdSql.checkData(0, 2, 7) + tdLog.info('tdSql.checkData(0, 2, "7")') + tdSql.checkData(0, 2, "7") # TSIM: return -1 # TSIM: endi # TSIM: if $data03 != 8 then @@ -830,8 +846,8 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data04 != 9 then - tdLog.info('tdSql.checkData(0, 4, 9)') - tdSql.checkData(0, 4, 9) + tdLog.info('tdSql.checkData(0, 4, "9")') + tdSql.checkData(0, 4, "9") # TSIM: return -1 # TSIM: endi # TSIM: if $data05 != 10.000000000 then @@ -840,21 +856,25 @@ class TDTestCase: # TSIM: return -1 # TSIM: endi # TSIM: if $data06 != 11 then - tdLog.info('tdSql.checkData(0, 6, 11)') - tdSql.checkData(0, 6, 11) + tdLog.info('tdSql.checkData(0, 6, "11")') + tdSql.checkData(0, 6, "11") # TSIM: return -1 # TSIM: endi # TSIM: if $data07 != NULL then tdLog.info('tdSql.checkData(0, 7, NULL)') - tdSql.checkData(0, 7, None) + try: + tdSql.checkData(0, 7, None) + except Exception as e: + tdLog.info(repr(e)) + tdLog.info("out of range") # TSIM: return -1 # TSIM: endi # TSIM: # TSIM: print =============== clear tdLog.info('=============== clear') # TSIM: sql drop database $db - tdLog.info('sql drop database $db') - tdSql.execute('sql drop database $db') + tdLog.info('drop database db') + tdSql.execute('drop database db') # TSIM: sql show databases tdLog.info('show databases') tdSql.query('show databases') diff --git a/tests/pytest/util/sql.py b/tests/pytest/util/sql.py index 367217cd49b412c775a8ec08c52168596f66c5d7..f3fd178088b41f18b5b7cd31a98853a6c0b79055 100644 --- a/tests/pytest/util/sql.py +++ b/tests/pytest/util/sql.py @@ -205,31 +205,37 @@ class TDSql: if col < 0: tdLog.exit( "%s failed: sql:%s, col:%d is smaller than zero" % - (callerFilename, self.sql, col)) + (callerFilename, self.sql, col)) if col > self.queryCols: tdLog.exit( "%s failed: sql:%s, col:%d is larger than queryCols:%d" % (callerFilename, self.sql, col, self.queryCols)) - + matrix = np.array(self.queryResult) - list = matrix[:, 0] + list = matrix[:, 0] - if order == "" or order.upper() == "ASC": - if all(sorted(list) == list): - tdLog.info("sql:%s, column :%d is sorted in accending order as expected" % + if order == "" or order.upper() == "ASC": + if all(sorted(list) == list): + tdLog.info( + "sql:%s, column :%d is sorted in accending order as expected" % (self.sql, col)) else: - tdLog.exit("%s failed: sql:%s, col:%d is not sorted in accesnind order" % + tdLog.exit( + "%s failed: sql:%s, col:%d is not sorted in accesnind order" % (callerFilename, self.sql, col)) - elif order.upper() == "DESC": - if all(sorted(list, reverse=True) == list): - tdLog.info("sql:%s, column :%d is sorted in decending order as expected" % + elif order.upper() == "DESC": + if all(sorted(list, reverse=True) == list): + tdLog.info( + "sql:%s, column :%d is sorted in decending order as expected" % (self.sql, col)) else: - tdLog.exit("%s failed: sql:%s, col:%d is not sorted in decending order" % - (callerFilename, self.sql, col)) + tdLog.exit( + "%s failed: sql:%s, col:%d is not sorted in decending order" % + (callerFilename, self.sql, col)) else: - tdLog.exit("%s failed: sql:%s, the order provided for col:%d is not correct" % - (callerFilename, self.sql, col)) + tdLog.exit( + "%s failed: sql:%s, the order provided for col:%d is not correct" % + (callerFilename, self.sql, col)) + tdSql = TDSql() diff --git a/tests/script/general/parser/stream.sim b/tests/script/general/parser/stream.sim index 6c8d8f93ea8f934f126573abd303f524d2721a5c..fca5f37d74ce69bd89eb7118b4c19e52f603fcee 100644 --- a/tests/script/general/parser/stream.sim +++ b/tests/script/general/parser/stream.sim @@ -51,19 +51,20 @@ sql drop table strm ## [TBASE304] print ====== TBASE-304 sleep 10000 -print create mt -sql create table mt (ts timestamp, c1 int) tags(t1 int, t2 int) +# we cannot reset query cache in server side, as a workaround, +# set super table name to mt304, need to change back to mt later +print create mt304 +sql create table mt304 (ts timestamp, c1 int) tags(t1 int, t2 int) print create tb1 -sql create table tb1 using mt tags(1, 1) +sql create table tb1 using mt304 tags(1, 1) print create tb2 -sql create table tb2 using mt tags(1, -1) +sql create table tb2 using mt304 tags(1, -1) print create strm -sql create table strm as select count(*), avg(c1) from mt where t2 >= 0 interval(4s) sliding(2s) +sql create table strm as select count(*), avg(c1) from mt304 where t2 >= 0 interval(4s) sliding(2s) sql insert into tb1 values (now,1) sql insert into tb2 values (now,2) -sleep 20000 +sleep 100000 sql select * from strm; -sleep 1000 if $rows != 2 then print ==== expect rows = 2, actually returned rows = $rows return -1 @@ -75,11 +76,11 @@ print data02 = $data02 if $data02 != 1.000000000 then return -1 endi -sql alter table mt drop tag t2; +sql alter table mt304 drop tag t2; sql insert into tb2 values (now,2); sql insert into tb1 values (now,1); sql select * from strm; -sql alter table mt add tag t2 int; +sql alter table mt304 add tag t2 int; sleep 10000 sql select * from strm @@ -98,7 +99,7 @@ sleep 4000 sql insert into tb2 values (now, 2, 'tb2') sleep 4000 sql insert into tb3 values (now, 0, 'tb3') -sleep 6000 +sleep 60000 sql describe strm if $rows == 0 then @@ -134,11 +135,9 @@ endi ## The vnode client needs to refresh metadata cache to allow strm calculate tb4's data. But the current refreshing frequency is every 10 min ## commented out the case below to save running time sql create table tb4 using stb tags('a4') -sleep 6000 sql insert into tb4 values(now, 4, 'tb4') -sleep 10000 +sleep 60000 sql select * from strm order by ts desc -sleep 1000 print ======== data0: $data00 $data01 $data02 $data03 #print ======== data1: $data10 $data11 $data12 $data13 #print ======== data2: $data20 $data21 $data22 $data23 @@ -160,7 +159,7 @@ sleep 3000 # waiting for new tag valid sql insert into tb1 values (now, 1, 'tb1_a1') sleep 4000 sql insert into tb4 values (now, -4, 'tb4_b4') -sleep 10000 +sleep 100000 sql select * from strm order by ts desc sleep 1000 print ======== data0: $data00 $data01 $data02 $data03 @@ -191,9 +190,9 @@ sql create table tb3 using stb tags(3, 'tb3') sql create table tb4 using stb tags(4, 'tb4') sql create table strm0 as select count(ts), count(c1), max(c2), min(c4), first(c5), last(c6) from stb where ts < now + 30s interval(4s) sliding(2s) -sleep 10000 +sleep 1000 sql insert into tb0 values (now, 0, 0, 0, 0, 'binary0', '涛思0', true) tb1 values (now, 1, 1, 1, 1, 'binary1', '涛思1', false) tb2 values (now, 2, 2, 2, 2, 'binary2', '涛思2', true) tb3 values (now, 3, 3, 3, 3, 'binary3', '涛思3', false) tb4 values (now, 4, 4, 4, 4, 'binary4', '涛思4', true) -sleep 5000 +sleep 20000 sql select * from strm0 order by ts desc sleep 1000 if $rows != 2 then @@ -202,7 +201,7 @@ if $rows != 2 then endi sql insert into tb0 values (now, 10, 10, 10, 10, 'binary0', '涛思0', true) tb1 values (now, 11, 11, 11, 11, 'binary1', '涛思1', false) tb2 values (now, 12, 12, 12, 12, 'binary2', '涛思2', true) tb3 values (now, 13, 13, 13, 13, 'binary3', '涛思3', false) tb4 values (now, 14, 14, 14, 14, 'binary4', '涛思4', true) -sleep 5000 +sleep 30000 sql select * from strm0 order by ts desc sleep 1000 if $rows != 4 then @@ -210,15 +209,4 @@ if $rows != 4 then return -1 endi -sql drop database if exists strm_db_0 -sql show databases -if $rows != 0 then - return -1 -endi - -sql create database $db -sql use $db -sql create table stb (ts timestamp, c1 int) tags(t1 int) -sql create table tb1 using stb tags(1) - system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/unique/arbitrator/check_cluster_cfg_para.sim b/tests/script/unique/arbitrator/check_cluster_cfg_para.sim new file mode 100644 index 0000000000000000000000000000000000000000..e74717c0778284519171716a3214bb8a1de9fcb9 --- /dev/null +++ b/tests/script/unique/arbitrator/check_cluster_cfg_para.sim @@ -0,0 +1,190 @@ +system sh/stop_dnodes.sh +system sh/deploy.sh -n dnode1 -i 1 +system sh/deploy.sh -n dnode2 -i 2 +system sh/deploy.sh -n dnode3 -i 3 +system sh/deploy.sh -n dnode4 -i 4 +system sh/deploy.sh -n dnode5 -i 5 +system sh/deploy.sh -n dnode6 -i 6 +system sh/deploy.sh -n dnode7 -i 7 + + +system sh/cfg.sh -n dnode1 -c numOfMnodes -v 2 +system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4 +system sh/cfg.sh -n dnode1 -c offlineThreshold -v 15 +system sh/cfg.sh -n dnode1 -c statusInterval -v 3 +system sh/cfg.sh -n dnode1 -c arbitrator -v $arbitrator +#system sh/cfg.sh -n dnode1 -c timezone -v "" +#system sh/cfg.sh -n dnode1 -c locale -v "" +#system sh/cfg.sh -n dnode1 -c charset -v "" +system sh/cfg.sh -n dnode1 -c balanceInterval -v 10 + +######## dnode 2 the same with dnode1 +system sh/cfg.sh -n dnode2 -c numOfMnodes -v 2 +system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4 +system sh/cfg.sh -n dnode2 -c offlineThreshold -v 15 +system sh/cfg.sh -n dnode2 -c statusInterval -v 3 +system sh/cfg.sh -n dnode2 -c arbitrator -v $arbitrator +#system sh/cfg.sh -n dnode2 -c timezone -v "" +#system sh/cfg.sh -n dnode2 -c locale -v "" +#system sh/cfg.sh -n dnode2 -c charset -v "" +system sh/cfg.sh -n dnode2 -c balanceInterval -v 10 + +######## dnode 3 one para no same with dnode1 +system sh/cfg.sh -n dnode3 -c numOfMnodes -v 3 +system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4 +system sh/cfg.sh -n dnode3 -c offlineThreshold -v 15 +system sh/cfg.sh -n dnode3 -c statusInterval -v 3 +system sh/cfg.sh -n dnode3 -c arbitrator -v $arbitrator +#system sh/cfg.sh -n dnode3 -c timezone -v "" +#system sh/cfg.sh -n dnode3 -c locale -v "" +#system sh/cfg.sh -n dnode3 -c charset -v "" +system sh/cfg.sh -n dnode3 -c balanceInterval -v 10 + +######## dnode 4 one para no same with dnode1 +system sh/cfg.sh -n dnode4 -c numOfMnodes -v 2 +system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 5 +system sh/cfg.sh -n dnode4 -c offlineThreshold -v 15 +system sh/cfg.sh -n dnode4 -c statusInterval -v 3 +system sh/cfg.sh -n dnode4 -c arbitrator -v $arbitrator +#system sh/cfg.sh -n dnode4 -c timezone -v "" +#system sh/cfg.sh -n dnode4 -c locale -v "" +#system sh/cfg.sh -n dnode4 -c charset -v "" +system sh/cfg.sh -n dnode4 -c balanceInterval -v 10 + +######## dnode 5 one para no same with dnode1 +system sh/cfg.sh -n dnode5 -c numOfMnodes -v 2 +system sh/cfg.sh -n dnode5 -c mnodeEqualVnodeNum -v 4 +system sh/cfg.sh -n dnode5 -c offlineThreshold -v 16 +system sh/cfg.sh -n dnode5 -c statusInterval -v 3 +system sh/cfg.sh -n dnode5 -c arbitrator -v $arbitrator +#system sh/cfg.sh -n dnode5 -c timezone -v "" +#system sh/cfg.sh -n dnode5 -c locale -v "" +#system sh/cfg.sh -n dnode5 -c charset -v "" +system sh/cfg.sh -n dnode5 -c balanceInterval -v 10 + + +######## dnode 6 one para no same with dnode1 +system sh/cfg.sh -n dnode6 -c numOfMnodes -v 2 +system sh/cfg.sh -n dnode6 -c mnodeEqualVnodeNum -v 4 +system sh/cfg.sh -n dnode6 -c offlineThreshold -v 15 +system sh/cfg.sh -n dnode6 -c statusInterval -v 2 +system sh/cfg.sh -n dnode6 -c arbitrator -v $arbitrator +#system sh/cfg.sh -n dnode6 -c timezone -v "" +#system sh/cfg.sh -n dnode6 -c locale -v "" +#system sh/cfg.sh -n dnode6 -c charset -v "" +system sh/cfg.sh -n dnode6 -c balanceInterval -v 10 + + +######## dnode 7 one para no same with dnode1 +system sh/cfg.sh -n dnode7 -c numOfMnodes -v 2 +system sh/cfg.sh -n dnode7 -c mnodeEqualVnodeNum -v 4 +system sh/cfg.sh -n dnode7 -c offlineThreshold -v 15 +system sh/cfg.sh -n dnode7 -c statusInterval -v 3 +system sh/cfg.sh -n dnode7 -c arbitrator -v "plum-VirtualBox:8001" +#system sh/cfg.sh -n dnode7 -c timezone -v "" +#system sh/cfg.sh -n dnode7 -c locale -v "" +#system sh/cfg.sh -n dnode7 -c charset -v "" +system sh/cfg.sh -n dnode7 -c balanceInterval -v 10 + +print ============== step0: start tarbitrator +system sh/exec_tarbitrator.sh -s start + +print ============== step1: start dnode1 +system sh/exec.sh -n dnode1 -s start +sleep 3000 +sql connect + +print ============== step2: start dnode2~7 and add into cluster +system sh/exec.sh -n dnode2 -s start +system sh/exec.sh -n dnode3 -s start +system sh/exec.sh -n dnode4 -s start +system sh/exec.sh -n dnode5 -s start +system sh/exec.sh -n dnode6 -s start +system sh/exec.sh -n dnode7 -s start +sql create dnode $hostname2 +sql create dnode $hostname3 +sql create dnode $hostname4 +sql create dnode $hostname5 +sql create dnode $hostname6 +sql create dnode $hostname7 +sleep 10000 + +wait_dnode_created: +sql show dnodes +if $rows != 7 then + sleep 2000 + goto wait_dnode_created +endi +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 +print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 +print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5 +print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6 +print $data0_7 $data1_7 $data2_7 $data3_7 $data4_7 +$dnode1Status = $data4_1 +$dnode2Status = $data4_2 +$dnode3Status = $data4_3 +$dnode4Status = $data4_4 +$dnode5Status = $data4_5 +$dnode6Status = $data4_6 +$dnode7Status = $data4_7 + +if $dnode1Status != ready then + return -1 +endi +if $dnode2Status != ready then + return -1 +endi +if $dnode3Status != offline then + return -1 +endi +if $dnode4Status != offline then + return -1 +endi +if $dnode5Status != offline then + return -1 +endi +if $dnode6Status != offline then + return -1 +endi +if $dnode7Status != offline then + return -1 +endi + +sleep 10000 + +wait_dnode_offline_overtime_dropped: +sql show dnodes +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 +print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 +print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5 +print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6 +print $data0_7 $data1_7 $data2_7 $data3_7 $data4_7 +if $rows != 2 then + sleep 2000 + goto wait_dnode_offline_overtime_dropped +endi +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 +print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 +print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5 +print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6 +print $data0_7 $data1_7 $data2_7 $data3_7 $data4_7 +$dnode1Status = $data4_1 +$dnode2Status = $data4_2 +$dnode3Status = $data4_3 +$dnode4Status = $data4_4 +$dnode5Status = $data4_5 +$dnode6Status = $data4_6 +$dnode7Status = $data4_7 + +if $dnode1Status != ready then + return -1 +endi +if $dnode2Status != ready then + return -1 +endi diff --git a/tests/script/unique/arbitrator/dn2_mn1_cache_file_sync.sim b/tests/script/unique/arbitrator/dn2_mn1_cache_file_sync.sim index cfd992db3a50198f1c3cac4f1ab145e3f3cf4a25..2620746d382f7c51433f969a9a2bf83f275115c0 100644 --- a/tests/script/unique/arbitrator/dn2_mn1_cache_file_sync.sim +++ b/tests/script/unique/arbitrator/dn2_mn1_cache_file_sync.sim @@ -1,11 +1,11 @@ # Test case describe: dnode1 is only mnode, dnode2/dnode3 are only vnode # step 1: start dnode1 # step 2: start dnode2 and dnode3, and all added into cluster (Suppose dnode2 is master-vnode) -# step 3: create db, table, insert data, and Falling disc into file (control only one file, e.g. 1841) -# step 4: insert old data(now-20d) and new data(now-40d), control data rows in order to save in cache, not falling disc -# step 5: stop dnode2, so date rows falling disc, generate two new files 1840, 1842 in dnode2 -# step 6: insert two data rows: now-21d, now-41d -# step 7: restart dnode2, waiting sync end +# step 2: create db, table, insert data, and Falling disc into file (control only one file, e.g. 1841) +# step 3: insert old data(now-20d) and new data(now-40d), control data rows in order to save in cache, not falling disc +# step 4: stop dnode2, so date rows falling disc, generate two new files 1840, 1842 in dnode2 +# step 5: insert two data rows: now-21d, now-41d +# step 6: restart dnode2, waiting sync end # expect: in dnode2, the files 1837 and 1839 will be removed system sh/stop_dnodes.sh @@ -113,15 +113,15 @@ sql insert into $tb values ( now - 20d , -20 ) sql insert into $tb values ( now - 40d , -40 ) $totalRows = $totalRows + 2 -print ============== step4: stop dnode2, so date rows falling disc, generate two new files in dnode2 -system sh/exec.sh -n dnode2 -s stop -x SIGINT +print ============== step4: stop dnode3, so date rows falling disc, generate two new files in dnode3 +system sh/exec.sh -n dnode3 -s stop -x SIGINT sleep $sleepTimer -wait_dnode2_offline: +wait_dnode3_offline: sql show dnodes if $rows != 3 then sleep 2000 - goto wait_dnode2_offline + goto wait_dnode3_offline endi print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 @@ -135,13 +135,13 @@ $dnode3Status = $data4_3 #$dnode4Status = $data4_4 #$dnode5Status = $data4_5 -if $dnode2Status != offline then +if $dnode3Status != offline then sleep 2000 - goto wait_dnode2_offline + goto wait_dnode3_offline endi -if $dnode3Status != ready then +if $dnode2Status != ready then sleep 2000 - goto wait_dnode2_offline + goto wait_dnode3_offline endi sleep $sleepTimer # waitting for move master vnode of dnode2 to dnode3 @@ -152,6 +152,12 @@ if $data00 != $totalRows then return -1 endi +system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l |grep "^-"|wc -l +print ---->dnode3 data files: $system_content , expect is 9 +#if $system_content != @9@ then +# return -1 +#endi + print ============== step5: insert two data rows: now-16d, now+16d, sql insert into $tb values ( now - 21d , -21 ) sql insert into $tb values ( now - 41d , -41 ) @@ -163,4 +169,47 @@ if $data00 != $totalRows then return -1 endi -print ============== step6: please check there should be 3 file in sim/dnode2/data/vnode/vnode2/tsdb/data/, and 1 file sim/dnode3/data/vnode/vnode2/tsdb/data/ +system_content ls ../../../sim/dnode2/data/vnode/vnode2/tsdb/data/ -l |grep "^-"|wc -l +print ---->dnode2 data files: $system_content , expect is 3 +#if $system_content != @3@ then +# return -1 +#endi + +print ============== step7: restart dnode3, waiting sync end +system sh/exec.sh -n dnode3 -s start +sleep 3000 + +wait_dnode3_ready: +sql show dnodes +if $rows != 3 then + sleep 2000 + goto wait_dnode3_ready +endi +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 +$dnode1Status = $data4_1 +$dnode2Status = $data4_2 +$dnode3Status = $data4_3 + +if $dnode3Status != ready then + sleep 2000 + goto wait_dnode3_ready +endi + +sql select count(*) from $stb +print data00 $data00 +if $data00 != $totalRows then + return -1 +endi + +system_content ls ../../../sim/dnode2/data/vnode/vnode2/tsdb/data/ -l |grep "^-"|wc -l +print ---->dnode2 data files: $system_content , expect is 3 +#if $system_content != @3@ then +# return -1 +#endi +system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l |grep "^-"|wc -l +print ---->dnode3 data files: $system_content , expect is 3 +#if $system_content != @3@ then +# return -1 +#endi \ No newline at end of file diff --git a/tests/script/unique/arbitrator/dn3_mn1_nw_disable_timeout_autoDropDnode.sim b/tests/script/unique/arbitrator/dn3_mn1_nw_disable_timeout_autoDropDnode.sim index 71e606e52940ff7a96f701dc764f9b7a55989bf2..9b1e320946673885e3cdd4d81458bbdff2da4084 100644 --- a/tests/script/unique/arbitrator/dn3_mn1_nw_disable_timeout_autoDropDnode.sim +++ b/tests/script/unique/arbitrator/dn3_mn1_nw_disable_timeout_autoDropDnode.sim @@ -5,11 +5,11 @@ system sh/deploy.sh -n dnode3 -i 3 system sh/deploy.sh -n dnode4 -i 4 system sh/deploy.sh -n dnode5 -i 5 -system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 -system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 -system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 -system sh/cfg.sh -n dnode4 -c numOfMPeers -v 1 -system sh/cfg.sh -n dnode5 -c numOfMPeers -v 1 +system sh/cfg.sh -n dnode1 -c numOfMnodes -v 1 +system sh/cfg.sh -n dnode2 -c numOfMnodes -v 1 +system sh/cfg.sh -n dnode3 -c numOfMnodes -v 1 +system sh/cfg.sh -n dnode4 -c numOfMnodes -v 1 +system sh/cfg.sh -n dnode5 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode1 -c walLevel -v 1 system sh/cfg.sh -n dnode2 -c walLevel -v 1 diff --git a/tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim b/tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim index fda850d2c9941cd9c1baecd07c621b0e99d6f8d7..d2bd5c6b266ab398eaf1e3306d63bc09d6233dcb 100644 --- a/tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim +++ b/tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim @@ -96,7 +96,12 @@ endi print ============== step3: stop dnode4, and remove its vnodeX subdirector system sh/exec.sh -n dnode4 -s stop -x SIGINT sleep $sleepTimer +$loopCnt = 0 wait_dnode4_offline_0: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi sql show dnodes if $rows != 4 then sleep 2000 @@ -148,7 +153,14 @@ sleep 1000 print ============== step4: restart dnode4, waiting sync end system sh/exec.sh -n dnode4 -s start sleep $sleepTimer + +$loopCnt = 0 wait_dnode4_reready: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi + sql show dnodes if $rows != 4 then sleep 2000 @@ -171,7 +183,13 @@ if $dnode4Status != ready then goto wait_dnode4_reready endi +$loopCnt = 0 wait_dnode4_vgroup_slave: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi + sql show vgroups if $rows != 1 then sleep 2000 @@ -200,7 +218,13 @@ system sh/exec.sh -n dnode2 -s stop system sh/exec.sh -n dnode3 -s stop sleep $sleepTimer + +$loopCnt = 0 wait_dnode23_offline: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi sql show dnodes if $rows != 4 then sleep 2000 @@ -231,7 +255,13 @@ if $dnode4Status != ready then goto wait_dnode23_offline endi +$loopCnt = 0 wait_dnode4_vgroup_master: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi + sql show vgroups if $rows != 1 then sleep 2000 diff --git a/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim b/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim index d556976a43790ec9ba12152c8da7685ee310980f..a7529d5bbcb366bbbd92f461e67124aefb7d8b5b 100644 --- a/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim +++ b/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim @@ -93,7 +93,7 @@ if $data00 != $totalRows then return -1 endi -print ============== step3: stop dnode3, then corrupt vnode data file in dnode3 +print ============== step3: stop dnode3 for falling disc, then corrupt vnode data file in dnode3 system sh/exec.sh -n dnode3 -s stop -x SIGINT sleep $sleepTimer wait_dnode3_offline_0: @@ -141,13 +141,26 @@ if $dnode2Vtatus != master then goto wait_dnode3_vgroup_offline endi -# del the second row -system sed '2d' ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/v1849.data -sleep 1000 +#system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l | grep "^-" | wc -l | sed 's/^[ \t]*//g' +#system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l | grep "^-" | wc -l | sed 's/[ \t]*$//g' +#print --2-->dnode3 data files: [ $system_content ] + +system_content ls ../../../sim/dnode2/data/vnode/vnode2/tsdb/data/ -l | grep "^-" | wc -l +print ---->dnode2 data files: [ $system_content ], expect is 0 + +system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l | grep "^-" | wc -l +print ---->dnode3 data files: [ $system_content ], expect is 3 +#if $system_content != 3 then +# return -1 +#endi + +#system echo "haha, nothing......" > ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/f1643.data +#sleep 1000 print ============== step4: restart dnode3, and run query system sh/exec.sh -n dnode3 -s start sleep $sleepTimer + wait_dnode3_reready: sql show dnodes if $rows != 3 then @@ -171,13 +184,50 @@ if $dnode3Status != ready then goto wait_dnode3_reready endi +wait_dnode3_vgroup_slave: +sql show vgroups +if $rows != 1 then + sleep 2000 + goto wait_dnode3_vgroup_slave +endi +print show vgroups: +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1 $data9_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3 +$dnode2Vtatus = $data7_2 +$dnode3Vtatus = $data4_2 + +if $dnode2Vtatus != master then + sleep 2000 + goto wait_dnode3_vgroup_slave +endi +if $dnode3Vtatus != slave then + sleep 2000 + goto wait_dnode3_vgroup_slave +endi + sql select count(*) from $stb print data00 $data00 if $data00 != $totalRows then return -1 endi -print ============== step5: stop dnode2, and check if dnode3 sync ok +system_content ls ../../../sim/dnode2/data/vnode/vnode2/tsdb/data/ -l |grep "^-"|wc -l +print ----> dnode2 data files: [ $system_content ], expect is 0 +#if $system_content != 0 then +# return -1 +#endi + +system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l |grep "^-"|wc -l +print ----> dnode3 data files: [ $system_content ], expect is 0 +#if $system_content != 0 then +# print there should be no data file in dnode3 after sync +# return -1 +#endi + +return -1 + +print ============== step5: stop dnode2, and check if dnode3 sync ok system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep $sleepTimer wait_dnode2_offline_0: @@ -224,3 +274,106 @@ if $dnode3Vtatus != master then sleep 2000 goto wait_dnode3_vgroup_master endi + +sql select count(*) from $stb +print data00 $data00 +if $data00 != $totalRows then + return -1 +endi + +print ============== step6: stop dnode3 for falling disck +system sh/exec.sh -n dnode3 -s stop -x SIGINT +sleep $sleepTimer +sql show dnodes +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 + +sql show vgroups +print show vgroups: +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1 $data9_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3 + + +print ============== step7: restart dnode3, and run query +system sh/exec.sh -n dnode3 -s start +sleep $sleepTimer +$loopCnt = 0 +wait_dnode3_reready_2: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi +sql show dnodes +if $rows != 3 then + sleep 2000 + goto wait_dnode3_reready_2 +endi +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 +$dnode1Status = $data4_1 +$dnode2Status = $data4_2 +$dnode3Status = $data4_3 + +if $dnode3Status != ready then + sleep 2000 + goto wait_dnode3_reready_2 +endi + +$loopCnt = 0 +wait_dnode3_vgroup_master_2: +$loopCnt = $loopCnt + 1 +if $loopCnt == 10 then + return -1 +endi +sql show vgroups +if $rows != 1 then + sleep 2000 + goto wait_dnode3_vgroup_master_2 +endi +print show vgroups: +print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1 $data9_1 +print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2 +print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3 +$dnode2Vtatus = $data7_2 +$dnode3Vtatus = $data4_2 + +if $dnode2Vtatus != offline then + sleep 2000 + goto wait_dnode3_vgroup_master_2 +endi +if $dnode3Vtatus != master then + sleep 2000 + goto wait_dnode3_vgroup_master_2 +endi + +sql select count(*) from $stb +print data00 $data00 +if $data00 != $totalRows then + return -1 +endi + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim b/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim index 968a93156e67bb5e1b07fb22c4eb6cb9c83f4d56..fc8577964dc3baa1eeb30b3b50a26df5687b4c81 100644 --- a/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim +++ b/tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim @@ -105,7 +105,7 @@ if $data00 != $totalRows then return -1 endi -print ============== step5: stop dnode2, and check if dnode3 sync ok +print ============== step5: stop dnode2, and check if dnode3 sync ok system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep $sleepTimer wait_dnode2_offline_0: @@ -152,3 +152,9 @@ if $dnode3Vtatus != master then sleep 2000 goto wait_dnode3_vgroup_master endi + +sql select count(*) from $stb +print data00 $data00 +if $data00 != $totalRows then + return -1 +endi \ No newline at end of file