Merge branch 'develop' into test
This commit is contained in:
commit
1b6ca91d04
|
@ -132,14 +132,14 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) {
|
||||||
for (int32_t i = 0; i < numOfRows; ++i) {
|
for (int32_t i = 0; i < numOfRows; ++i) {
|
||||||
TAOS_FIELD *pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 0);
|
TAOS_FIELD *pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 0);
|
||||||
char* dst = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 0) * totalNumOfRows + pField->bytes * i;
|
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;
|
char *type = tDataTypeDesc[pSchema[i].type].aName;
|
||||||
|
|
||||||
pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 1);
|
pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 1);
|
||||||
dst = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 1) * totalNumOfRows + pField->bytes * i;
|
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;
|
int32_t bytes = pSchema[i].bytes;
|
||||||
if (pSchema[i].type == TSDB_DATA_TYPE_BINARY || pSchema[i].type == TSDB_DATA_TYPE_NCHAR) {
|
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) {
|
if (i >= tscGetNumOfColumns(pMeta) && tscGetNumOfTags(pMeta) != 0) {
|
||||||
char* output = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 3) * totalNumOfRows + pField->bytes * i;
|
char* output = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 3) * totalNumOfRows + pField->bytes * i;
|
||||||
const char *src = "TAG";
|
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
|
// field name
|
||||||
TAOS_FIELD *pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 0);
|
TAOS_FIELD *pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 0);
|
||||||
char* output = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 0) * totalNumOfRows + pField->bytes * i;
|
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
|
// type name
|
||||||
pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 1);
|
pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 1);
|
||||||
|
@ -193,7 +193,7 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) {
|
||||||
pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 3);
|
pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 3);
|
||||||
char *target = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 3) * totalNumOfRows + pField->bytes * i;
|
char *target = pRes->data + tscFieldInfoGetOffset(pQueryInfo, 3) * totalNumOfRows + pField->bytes * i;
|
||||||
const char *src = "TAG";
|
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;
|
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);
|
rowLen += ((TSDB_COL_NAME_LEN - 1) + VARSTR_HEADER_SIZE);
|
||||||
|
|
||||||
f.bytes = typeColLength;
|
f.bytes = typeColLength + VARSTR_HEADER_SIZE;
|
||||||
f.type = TSDB_DATA_TYPE_BINARY;
|
f.type = TSDB_DATA_TYPE_BINARY;
|
||||||
tstrncpy(f.name, "Type", sizeof(f.name));
|
tstrncpy(f.name, "Type", sizeof(f.name));
|
||||||
|
|
||||||
pInfo = tscFieldInfoAppend(&pQueryInfo->fieldsInfo, &f);
|
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);
|
typeColLength, false);
|
||||||
|
|
||||||
rowLen += typeColLength;
|
rowLen += typeColLength + VARSTR_HEADER_SIZE;
|
||||||
|
|
||||||
f.bytes = sizeof(int32_t);
|
f.bytes = sizeof(int32_t);
|
||||||
f.type = TSDB_DATA_TYPE_INT;
|
f.type = TSDB_DATA_TYPE_INT;
|
||||||
|
@ -240,15 +240,15 @@ static int32_t tscBuildTableSchemaResultFields(SSqlObj *pSql, int32_t numOfCols,
|
||||||
|
|
||||||
rowLen += sizeof(int32_t);
|
rowLen += sizeof(int32_t);
|
||||||
|
|
||||||
f.bytes = noteColLength;
|
f.bytes = noteColLength + VARSTR_HEADER_SIZE;
|
||||||
f.type = TSDB_DATA_TYPE_BINARY;
|
f.type = TSDB_DATA_TYPE_BINARY;
|
||||||
tstrncpy(f.name, "Note", sizeof(f.name));
|
tstrncpy(f.name, "Note", sizeof(f.name));
|
||||||
|
|
||||||
pInfo = tscFieldInfoAppend(&pQueryInfo->fieldsInfo, &f);
|
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);
|
noteColLength, false);
|
||||||
|
|
||||||
rowLen += noteColLength;
|
rowLen += noteColLength + VARSTR_HEADER_SIZE;
|
||||||
return rowLen;
|
return rowLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 ((*pExpr)->_node.optr != TSDB_RELATION_EQUAL && (*pExpr)->_node.optr != TSDB_RELATION_NOT_EQUAL) {
|
||||||
if (pRight->nodeType == TSQL_NODE_VALUE) {
|
if (pRight->nodeType == TSQL_NODE_VALUE) {
|
||||||
if ( pRight->pVal->nType == TSDB_DATA_TYPE_BOOL
|
if (pRight->pVal->nType == TSDB_DATA_TYPE_BOOL) {
|
||||||
|| pRight->pVal->nType == TSDB_DATA_TYPE_BINARY
|
return TSDB_CODE_TSC_INVALID_SQL;
|
||||||
|| pRight->pVal->nType == TSDB_DATA_TYPE_NCHAR) {
|
}
|
||||||
|
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;
|
return TSDB_CODE_TSC_INVALID_SQL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,19 +24,19 @@ TEST(testCase, parse_time) {
|
||||||
|
|
||||||
int64_t time = 0, time1 = 0;
|
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);
|
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);
|
EXPECT_EQ(time, timezone * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
char t2[] = "2018-1-1T1:1:1.952Z";
|
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);
|
EXPECT_EQ(time, 1514739661952 + 28800000);
|
||||||
|
|
||||||
char t3[] = "2018-1-1 1:01:01.952";
|
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);
|
EXPECT_EQ(time, 1514739661952);
|
||||||
|
|
||||||
char t4[] = "2018-1-1 1:01:01.9";
|
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 t7[] = "2018-01-01 01:01:01.9";
|
||||||
char t8[] = "2018-01-01 01:01:01.9007865";
|
char t8[] = "2018-01-01 01:01:01.9007865";
|
||||||
|
|
||||||
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
char t9[] = "2017-4-3 1:1:2.980";
|
char t9[] = "2017-4-3 1:1:2.980";
|
||||||
char t10[] = "2017-4-3T2:1:2.98+9:00";
|
char t10[] = "2017-4-3T2:1:2.98+9:00";
|
||||||
taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
char t11[] = "2017-4-3T2:1:2.98+09:00";
|
char t11[] = "2017-4-3T2:1:2.98+09:00";
|
||||||
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
char t12[] = "2017-4-3T2:1:2.98+0900";
|
char t12[] = "2017-4-3T2:1:2.98+0900";
|
||||||
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "UTC");
|
taos_options(TSDB_OPTION_TIMEZONE, "UTC");
|
||||||
deltaToUtcInitOnce();
|
deltaToUtcInitOnce();
|
||||||
|
|
||||||
taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t13, &time, strlen(t13), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, 0);
|
EXPECT_EQ(time, 0);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai");
|
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai");
|
||||||
deltaToUtcInitOnce();
|
deltaToUtcInitOnce();
|
||||||
|
|
||||||
char t14[] = "1970-1-1T0:0:0Z";
|
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);
|
EXPECT_EQ(time, 0);
|
||||||
|
|
||||||
char t40[] = "1970-1-1 0:0:0.999999999";
|
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);
|
EXPECT_EQ(time, 999 + timezone * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
char t41[] = "1997-1-1 0:0:0.999999999";
|
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);
|
EXPECT_EQ(time, 852048000999);
|
||||||
|
|
||||||
int64_t k = timezone;
|
int64_t k = timezone;
|
||||||
char t42[] = "1997-1-1T0:0:0.999999999Z";
|
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);
|
EXPECT_EQ(time, 852048000999 - timezone * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// illegal timestamp format
|
// illegal timestamp format
|
||||||
char t15[] = "2017-12-33 0:0:0";
|
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";
|
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";
|
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";
|
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";
|
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";
|
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);
|
EXPECT_EQ(time, 1514682000100);
|
||||||
|
|
||||||
char t21[] = "2017-12-31T9:0:0.1+12:99";
|
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";
|
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";
|
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 ============================//
|
//======================== add some case ============================//
|
||||||
|
|
||||||
char b1[] = "9999-12-31 23:59:59.999";
|
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);
|
EXPECT_EQ(time, 253402271999999);
|
||||||
|
|
||||||
|
|
||||||
char b2[] = "2020-01-01 01:01:01.321";
|
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);
|
EXPECT_EQ(time, 1577811661321);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "America/New_York");
|
taos_options(TSDB_OPTION_TIMEZONE, "America/New_York");
|
||||||
deltaToUtcInitOnce();
|
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);
|
EXPECT_EQ(time, 18000 * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Tokyo");
|
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Tokyo");
|
||||||
deltaToUtcInitOnce();
|
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);
|
EXPECT_EQ(time, -32400 * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai");
|
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai");
|
||||||
deltaToUtcInitOnce();
|
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);
|
EXPECT_EQ(time, -28800 * MILLISECOND_PER_SECOND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ extern "C" {
|
||||||
|
|
||||||
#define STR_WITH_MAXSIZE_TO_VARSTR(x, str, _maxs) \
|
#define STR_WITH_MAXSIZE_TO_VARSTR(x, str, _maxs) \
|
||||||
do { \
|
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)); \
|
varDataSetLen(x, (_e - (x)-VARSTR_HEADER_SIZE)); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
|
@ -588,7 +588,7 @@ int tdSetKVRowDataOfCol(SKVRow *orow, int16_t colId, int8_t type, void *value) {
|
||||||
if (kvRowNCols(nrow) - colIdx - 1 > 0) {
|
if (kvRowNCols(nrow) - colIdx - 1 > 0) {
|
||||||
for (int i = colIdx + 1; i < kvRowNCols(nrow); i++) {
|
for (int i = colIdx + 1; i < kvRowNCols(nrow); i++) {
|
||||||
kvRowColIdxAt(nrow, i)->colId = kvRowColIdxAt(row, i)->colId;
|
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)),
|
memcpy(kvRowColVal(nrow, kvRowColIdxAt(nrow, colIdx + 1)), kvRowColVal(row, kvRowColIdxAt(row, colIdx + 1)),
|
||||||
POINTER_DISTANCE(kvRowEnd(row), kvRowColVal(row, kvRowColIdxAt(row, colIdx + 1))));
|
POINTER_DISTANCE(kvRowEnd(row), kvRowColVal(row, kvRowColIdxAt(row, colIdx + 1))));
|
||||||
|
|
|
@ -616,6 +616,16 @@ static void dnodeSendStatusMsg(void *handle, void *tmrId) {
|
||||||
pStatus->numOfCores = htons((uint16_t) tsNumOfCores);
|
pStatus->numOfCores = htons((uint16_t) tsNumOfCores);
|
||||||
pStatus->diskAvailable = tsAvailDataDirGB;
|
pStatus->diskAvailable = tsAvailDataDirGB;
|
||||||
pStatus->alternativeRole = (uint8_t) tsAlternativeRole;
|
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);
|
vnodeBuildStatusMsg(pStatus);
|
||||||
contLen = sizeof(SDMStatusMsg) + pStatus->openVnodes * sizeof(SVnodeLoad);
|
contLen = sizeof(SDMStatusMsg) + pStatus->openVnodes * sizeof(SVnodeLoad);
|
||||||
|
|
|
@ -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_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_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_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_ACCT_ALREADY_EXIST, 0, 0x0340, "mnode accounts already exist")
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_ACCT, 0, 0x0341, "mnode invalid account")
|
TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_ACCT, 0, 0x0341, "mnode invalid account")
|
||||||
|
|
|
@ -557,18 +557,30 @@ typedef struct {
|
||||||
} SDMMnodeInfos;
|
} SDMMnodeInfos;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t version;
|
int32_t numOfMnodes; // tsNumOfMnodes
|
||||||
int32_t dnodeId;
|
int32_t mnodeEqualVnodeNum; // tsMnodeEqualVnodeNum
|
||||||
char dnodeEp[TSDB_EP_LEN];
|
int32_t offlineThreshold; // tsOfflineThreshold
|
||||||
uint32_t moduleStatus;
|
int32_t statusInterval; // tsStatusInterval
|
||||||
uint32_t lastReboot; // time stamp for last reboot
|
char arbitrator[TSDB_EP_LEN]; // tsArbitrator
|
||||||
uint16_t numOfTotalVnodes; // from config file
|
char timezone[64]; // tsTimezone
|
||||||
uint16_t openVnodes;
|
char locale[TSDB_LOCALE_LEN]; // tsLocale
|
||||||
uint16_t numOfCores;
|
char charset[TSDB_LOCALE_LEN]; // tsCharset
|
||||||
float diskAvailable; // GB
|
} SClusterCfg;
|
||||||
uint8_t alternativeRole;
|
|
||||||
uint8_t reserve[15];
|
typedef struct {
|
||||||
SVnodeLoad load[];
|
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;
|
} SDMStatusMsg;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -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;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
||||||
char* name = mnodeGetDbStr(pDb->name);
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
|
@ -277,6 +277,20 @@ static void mnodeProcessCfgDnodeMsgRsp(SRpcMsg *rpcMsg) {
|
||||||
mPrint("cfg dnode rsp is received");
|
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) {
|
static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) {
|
||||||
SDMStatusMsg *pStatus = pMsg->rpcMsg.pCont;
|
SDMStatusMsg *pStatus = pMsg->rpcMsg.pCont;
|
||||||
pStatus->dnodeId = htonl(pStatus->dnodeId);
|
pStatus->dnodeId = htonl(pStatus->dnodeId);
|
||||||
|
@ -312,7 +326,6 @@ static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) {
|
||||||
pDnode->alternativeRole = pStatus->alternativeRole;
|
pDnode->alternativeRole = pStatus->alternativeRole;
|
||||||
pDnode->totalVnodes = pStatus->numOfTotalVnodes;
|
pDnode->totalVnodes = pStatus->numOfTotalVnodes;
|
||||||
pDnode->moduleStatus = pStatus->moduleStatus;
|
pDnode->moduleStatus = pStatus->moduleStatus;
|
||||||
pDnode->lastAccess = tsAccessSquence;
|
|
||||||
|
|
||||||
if (pStatus->dnodeId == 0) {
|
if (pStatus->dnodeId == 0) {
|
||||||
mTrace("dnode:%d %s, first access", pDnode->dnodeId, pDnode->dnodeEp);
|
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) {
|
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);
|
mTrace("dnode:%d, from offline to online", pDnode->dnodeId);
|
||||||
pDnode->status = TAOS_DN_STATUS_READY;
|
pDnode->status = TAOS_DN_STATUS_READY;
|
||||||
balanceUpdateMnode();
|
balanceUpdateMnode();
|
||||||
|
@ -352,6 +373,8 @@ static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) {
|
||||||
return TSDB_CODE_MND_OUT_OF_MEMORY;
|
return TSDB_CODE_MND_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pDnode->lastAccess = tsAccessSquence;
|
||||||
|
|
||||||
mnodeGetMnodeInfos(&pRsp->mnodes);
|
mnodeGetMnodeInfos(&pRsp->mnodes);
|
||||||
|
|
||||||
pRsp->dnodeCfg.dnodeId = htonl(pDnode->dnodeId);
|
pRsp->dnodeCfg.dnodeId = htonl(pDnode->dnodeId);
|
||||||
|
@ -570,7 +593,7 @@ static int32_t mnodeRetrieveDnodes(SShowObj *pShow, char *data, int32_t rows, vo
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
|
@ -401,9 +401,9 @@ static int32_t mnodeRetrieveMnodes(SShowObj *pShow, char *data, int32_t rows, vo
|
||||||
|
|
||||||
SDnodeObj *pDnode = mnodeGetDnode(pMnode->mnodeId);
|
SDnodeObj *pDnode = mnodeGetDnode(pMnode->mnodeId);
|
||||||
if (pDnode != NULL) {
|
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 {
|
} 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);
|
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;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
char* roles = mnodeGetMnodeRoleStr(pMnode->role);
|
char* roles = mnodeGetMnodeRoleStr(pMnode->role);
|
||||||
STR_TO_VARSTR(pWrite, roles);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, roles, pShow->bytes[cols]);
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
|
@ -235,14 +235,12 @@ static int32_t mnodeRetrieveConns(SShowObj *pShow, char *data, int32_t rows, voi
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
size_t size = sizeof(pConnObj->user);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port);
|
snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port);
|
||||||
size = sizeof(ipStr);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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));
|
snprintf(ipStr, QUERY_ID_SIZE + 1, "%u:%u", pConnObj->connId, htonl(pDesc->queryId));
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
size_t size = sizeof(pConnObj->user);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port);
|
snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port);
|
||||||
size = sizeof(ipStr);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
numOfRows++;
|
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));
|
snprintf(ipStr, QUERY_ID_SIZE + 1, "%u:%u", pConnObj->connId, htonl(pDesc->streamId));
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
size_t size = sizeof(pConnObj->user);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pConnObj->user, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port);
|
snprintf(ipStr, sizeof(ipStr), "%s:%u", taosIpStr(pConnObj->ip), pConnObj->port);
|
||||||
size = sizeof(ipStr);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, ipStr, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
|
@ -2103,7 +2103,7 @@ static int32_t mnodeGetShowTableMeta(STableMetaMsg *pMeta, SShowObj *pShow, void
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
SSchema tbCol = tGetTableNameColumnSchema();
|
SSchema tbCol = tGetTableNameColumnSchema();
|
||||||
pShow->bytes[cols] = tbCol.bytes;
|
pShow->bytes[cols] = tbCol.bytes + VARSTR_HEADER_SIZE;
|
||||||
pSchema[cols].type = tbCol.type;
|
pSchema[cols].type = tbCol.type;
|
||||||
strcpy(pSchema[cols].name, "stable_name");
|
strcpy(pSchema[cols].name, "stable_name");
|
||||||
pSchema[cols].bytes = htons(pShow->bytes[cols]);
|
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;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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));
|
memset(tableName, 0, sizeof(tableName));
|
||||||
if (pTable->info.type == TSDB_CHILD_TABLE) {
|
if (pTable->info.type == TSDB_CHILD_TABLE) {
|
||||||
mnodeExtractTableName(pTable->superTable->info.tableId, tableName);
|
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++;
|
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;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
numOfRows++;
|
numOfRows++;
|
||||||
|
|
|
@ -315,8 +315,7 @@ static int32_t mnodeRetrieveUsers(SShowObj *pShow, char *data, int32_t rows, voi
|
||||||
cols = 0;
|
cols = 0;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
size_t size = sizeof(pUser->user);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pUser->user, pShow->bytes[cols]);
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, pUser->user, size);
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
numOfRows++;
|
numOfRows++;
|
||||||
|
|
|
@ -479,12 +479,12 @@ int32_t mnodeRetrieveVgroups(SShowObj *pShow, char *data, int32_t rows, void *pC
|
||||||
|
|
||||||
if (pDnode != NULL) {
|
if (pDnode != NULL) {
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
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++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
char *role = mnodeGetMnodeRoleStr(pVgroup->vnodeGid[i].role);
|
char *role = mnodeGetMnodeRoleStr(pVgroup->vnodeGid[i].role);
|
||||||
STR_TO_VARSTR(pWrite, role);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, role, pShow->bytes[cols]);
|
||||||
cols++;
|
cols++;
|
||||||
} else {
|
} else {
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
|
@ -29,7 +29,8 @@ void httpCreateSession(HttpContext *pContext, void *taos) {
|
||||||
|
|
||||||
pthread_mutex_lock(&server->serverMutex);
|
pthread_mutex_lock(&server->serverMutex);
|
||||||
|
|
||||||
HttpSession session = {0};
|
HttpSession session;
|
||||||
|
memset(&session, 0, sizeof(HttpSession));
|
||||||
session.taos = taos;
|
session.taos = taos;
|
||||||
session.refCount = 1;
|
session.refCount = 1;
|
||||||
snprintf(session.id, HTTP_SESSION_ID_LEN, "%s.%s", pContext->user, pContext->pass);
|
snprintf(session.id, HTTP_SESSION_ID_LEN, "%s.%s", pContext->user, pContext->pass);
|
||||||
|
|
|
@ -847,7 +847,7 @@ static void blockwiseApplyFunctions(SQueryRuntimeEnv *pRuntimeEnv, SDataStatis *
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t step = GET_FORWARD_DIRECTION_FACTOR(pQuery->order.order);
|
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);
|
int32_t offset = GET_COL_DATA_POS(pQuery, 0, step);
|
||||||
TSKEY ts = tsCols[offset];
|
TSKEY ts = tsCols[offset];
|
||||||
|
|
||||||
|
@ -4263,7 +4263,8 @@ static void sequentialTableProcess(SQInfo *pQInfo) {
|
||||||
assert(taosArrayGetSize(s) >= 1);
|
assert(taosArrayGetSize(s) >= 1);
|
||||||
|
|
||||||
setTagVal(pRuntimeEnv, (STableId*) taosArrayGet(s, 0), pQInfo->tsdb);
|
setTagVal(pRuntimeEnv, (STableId*) taosArrayGet(s, 0), pQInfo->tsdb);
|
||||||
|
|
||||||
|
taosArrayDestroy(s);
|
||||||
if (isFirstLastRowQuery(pQuery)) {
|
if (isFirstLastRowQuery(pQuery)) {
|
||||||
assert(taosArrayGetSize(s) == 1);
|
assert(taosArrayGetSize(s) == 1);
|
||||||
}
|
}
|
||||||
|
@ -4328,6 +4329,7 @@ static void sequentialTableProcess(SQInfo *pQInfo) {
|
||||||
SWindowResInfo *pWindowResInfo = &pRuntimeEnv->windowResInfo;
|
SWindowResInfo *pWindowResInfo = &pRuntimeEnv->windowResInfo;
|
||||||
|
|
||||||
// no results generated for current group, continue to try the next group
|
// no results generated for current group, continue to try the next group
|
||||||
|
taosArrayDestroy(s);
|
||||||
if (pWindowResInfo->size <= 0) {
|
if (pWindowResInfo->size <= 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -496,7 +496,6 @@ static int32_t setQueryCond(tQueryInfo *queryColInfo, SQueryCond* pCond) {
|
||||||
printf("relation is like\n");
|
printf("relation is like\n");
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -511,7 +510,7 @@ static void tQueryIndexColumn(SSkipList* pSkipList, tQueryInfo* pQueryInfo, SArr
|
||||||
if (cond.start != NULL) {
|
if (cond.start != NULL) {
|
||||||
iter = tSkipListCreateIterFromVal(pSkipList, (char*) cond.start->v, pSkipList->keyInfo.type, TSDB_ORDER_ASC);
|
iter = tSkipListCreateIterFromVal(pSkipList, (char*) cond.start->v, pSkipList->keyInfo.type, TSDB_ORDER_ASC);
|
||||||
} else {
|
} 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) {
|
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) {
|
int32_t merge(SArray *pLeft, SArray *pRight, SArray *pFinalRes) {
|
||||||
|
@ -748,6 +750,7 @@ static void exprTreeTraverseImpl(tExprNode *pExpr, SArray *pResult, SExprTravers
|
||||||
}
|
}
|
||||||
|
|
||||||
taosArrayCopy(pResult, array);
|
taosArrayCopy(pResult, array);
|
||||||
|
taosArrayDestroy(array);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tSQLBinaryTraverseOnSkipList(tExprNode *pExpr, SArray *pResult, SSkipList *pSkipList, SExprTraverseSupp *param ) {
|
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);
|
CLEANUP_EXECUTE_TO(anchor, false);
|
||||||
return expr;
|
return expr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -896,6 +896,7 @@ void tColModelDisplay(SColumnModel *pModel, void *pData, int32_t numOfRows, int3
|
||||||
char buf[4096] = {0};
|
char buf[4096] = {0};
|
||||||
taosUcs4ToMbs(val, pModel->pFields[j].field.bytes, buf);
|
taosUcs4ToMbs(val, pModel->pFields[j].field.bytes, buf);
|
||||||
printf("%s\t", buf);
|
printf("%s\t", buf);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case TSDB_DATA_TYPE_BINARY: {
|
case TSDB_DATA_TYPE_BINARY: {
|
||||||
printBinaryData(val, pModel->pFields[j].field.bytes);
|
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};
|
char buf[128] = {0};
|
||||||
taosUcs4ToMbs(val, pModel->pFields[j].field.bytes, buf);
|
taosUcs4ToMbs(val, pModel->pFields[j].field.bytes, buf);
|
||||||
printf("%s\t", buf);
|
printf("%s\t", buf);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case TSDB_DATA_TYPE_BINARY: {
|
case TSDB_DATA_TYPE_BINARY: {
|
||||||
printBinaryDataEx(val, pModel->pFields[j].field.bytes, ¶m[j]);
|
printBinaryDataEx(val, pModel->pFields[j].field.bytes, ¶m[j]);
|
||||||
|
|
|
@ -775,19 +775,14 @@ void setDCLSQLElems(SSqlInfo *pInfo, int32_t type, int32_t nParam, ...) {
|
||||||
|
|
||||||
while (nParam-- > 0) {
|
while (nParam-- > 0) {
|
||||||
SSQLToken *pToken = va_arg(va, SSQLToken *);
|
SSQLToken *pToken = va_arg(va, SSQLToken *);
|
||||||
(void)tTokenListAppend(pInfo->pDCLInfo, pToken);
|
pInfo->pDCLInfo = tTokenListAppend(pInfo->pDCLInfo, pToken);
|
||||||
}
|
}
|
||||||
va_end(va);
|
va_end(va);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setDropDBTableInfo(SSqlInfo *pInfo, int32_t type, SSQLToken* pToken, SSQLToken* existsCheck) {
|
void setDropDBTableInfo(SSqlInfo *pInfo, int32_t type, SSQLToken* pToken, SSQLToken* existsCheck) {
|
||||||
pInfo->type = type;
|
pInfo->type = type;
|
||||||
|
pInfo->pDCLInfo = tTokenListAppend(pInfo->pDCLInfo, pToken);
|
||||||
if (pInfo->pDCLInfo == NULL) {
|
|
||||||
pInfo->pDCLInfo = calloc(1, sizeof(tDCLSQL));
|
|
||||||
}
|
|
||||||
|
|
||||||
tTokenListAppend(pInfo->pDCLInfo, pToken);
|
|
||||||
pInfo->pDCLInfo->existsCheck = (existsCheck->n == 1);
|
pInfo->pDCLInfo->existsCheck = (existsCheck->n == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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,
|
tMemBucket *tMemBucketCreate(int32_t totalSlots, int32_t nBufferSize, int16_t nElemSize, int16_t dataType,
|
||||||
tOrderDescriptor *pDesc) {
|
tOrderDescriptor *pDesc) {
|
||||||
tMemBucket *pBucket = (tMemBucket *)malloc(sizeof(tMemBucket));
|
tMemBucket *pBucket = (tMemBucket *)malloc(sizeof(tMemBucket));
|
||||||
|
|
||||||
pBucket->nTotalSlots = totalSlots;
|
pBucket->nTotalSlots = totalSlots;
|
||||||
pBucket->nSlotsOfSeg = 1 << 6; // 64 Segments, 16 slots each seg.
|
pBucket->nSlotsOfSeg = 1 << 6; // 64 Segments, 16 slots each seg.
|
||||||
pBucket->dataType = dataType;
|
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->numOfTotalPages = pBucket->nTotalBufferSize / pBucket->pageSize;
|
||||||
pBucket->numOfAvailPages = pBucket->numOfTotalPages;
|
pBucket->numOfAvailPages = pBucket->numOfTotalPages;
|
||||||
|
|
||||||
|
pBucket->pSegs = NULL;
|
||||||
pBucket->pOrderDesc = pDesc;
|
pBucket->pOrderDesc = pDesc;
|
||||||
|
|
||||||
switch (pBucket->dataType) {
|
switch (pBucket->dataType) {
|
||||||
|
@ -315,7 +315,7 @@ tMemBucket *tMemBucketCreate(int32_t totalSlots, int32_t nBufferSize, int16_t nE
|
||||||
pBucket->pSegs[i].pBoundingEntries = NULL;
|
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);
|
pBucket->nElemSize);
|
||||||
|
|
||||||
return pBucket;
|
return pBucket;
|
||||||
|
@ -751,7 +751,7 @@ double getPercentileImpl(tMemBucket *pMemBucket, int32_t count, double fraction)
|
||||||
|
|
||||||
char * thisVal = buffer->data + pMemBucket->nElemSize * currentIdx;
|
char * thisVal = buffer->data + pMemBucket->nElemSize * currentIdx;
|
||||||
char * nextVal = thisVal + pMemBucket->nElemSize;
|
char * nextVal = thisVal + pMemBucket->nElemSize;
|
||||||
double td, nd;
|
double td = 1.0, nd = 1.0;
|
||||||
switch (pMemBucket->dataType) {
|
switch (pMemBucket->dataType) {
|
||||||
case TSDB_DATA_TYPE_SMALLINT: {
|
case TSDB_DATA_TYPE_SMALLINT: {
|
||||||
td = *(int16_t *)thisVal;
|
td = *(int16_t *)thisVal;
|
||||||
|
|
|
@ -6,7 +6,12 @@
|
||||||
#include "queryLog.h"
|
#include "queryLog.h"
|
||||||
|
|
||||||
int32_t createDiskbasedResultBuffer(SDiskbasedResultBuf** pResultBuf, int32_t size, int32_t rowSize, void* handle) {
|
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->numOfRowsPerPage = (DEFAULT_INTERN_BUF_PAGE_SIZE - sizeof(tFilePage)) / rowSize;
|
||||||
pResBuf->numOfPages = size;
|
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,
|
qTrace("QInfo:%p create tmp file for output result, %s, %" PRId64 "bytes", handle, pResBuf->path,
|
||||||
pResBuf->totalBufSize);
|
pResBuf->totalBufSize);
|
||||||
|
|
||||||
*pResultBuf = pResBuf;
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +214,7 @@ void destroyResultBuf(SDiskbasedResultBuf* pResultBuf, void* handle) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t getLastPageId(SIDList *pList) {
|
int32_t getLastPageId(SIDList *pList) {
|
||||||
if (pList == NULL && pList->size <= 0) {
|
if (pList == NULL || pList->size <= 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -533,7 +533,7 @@ STSVnodeBlockInfo* tsBufGetVnodeBlockInfo(STSBuf* pTSBuf, int32_t vnodeId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t STSBufUpdateHeader(STSBuf* pTSBuf, STSBufFileHeader* pHeader) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -357,7 +357,7 @@ static int32_t toBinary(tVariant *pVariant, char **pDest, int32_t *pDestSize) {
|
||||||
if (pVariant->nType == TSDB_DATA_TYPE_NCHAR) {
|
if (pVariant->nType == TSDB_DATA_TYPE_NCHAR) {
|
||||||
size_t newSize = pVariant->nLen * TSDB_NCHAR_SIZE;
|
size_t newSize = pVariant->nLen * TSDB_NCHAR_SIZE;
|
||||||
if (pBuf != NULL) {
|
if (pBuf != NULL) {
|
||||||
if (newSize > INITIAL_ALLOC_SIZE) {
|
if (newSize >= INITIAL_ALLOC_SIZE) {
|
||||||
pBuf = realloc(pBuf, newSize + 1);
|
pBuf = realloc(pBuf, newSize + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -334,19 +334,19 @@ TEST(testCase, parse_time) {
|
||||||
|
|
||||||
int64_t time = 0, time1 = 0;
|
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);
|
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);
|
EXPECT_EQ(time, timezone * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
char t2[] = "2018-1-1T1:1:1.952Z";
|
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);
|
EXPECT_EQ(time, 1514739661952 + 28800000);
|
||||||
|
|
||||||
char t3[] = "2018-1-1 1:01:01.952";
|
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);
|
EXPECT_EQ(time, 1514739661952);
|
||||||
|
|
||||||
char t4[] = "2018-1-1 1:01:01.9";
|
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 t7[] = "2018-01-01 01:01:01.9";
|
||||||
char t8[] = "2018-01-01 01:01:01.9007865";
|
char t8[] = "2018-01-01 01:01:01.9007865";
|
||||||
|
|
||||||
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t5, &time1, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t6, &time1, strlen(t6), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t4, &time, strlen(t4), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t7, &time1, strlen(t7), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t5, &time, strlen(t5), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t8, &time1, strlen(t8), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
char t9[] = "2017-4-3 1:1:2.980";
|
char t9[] = "2017-4-3 1:1:2.980";
|
||||||
char t10[] = "2017-4-3T2:1:2.98+9:00";
|
char t10[] = "2017-4-3T2:1:2.98+9:00";
|
||||||
taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t9, &time, strlen(t9), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
char t11[] = "2017-4-3T2:1:2.98+09:00";
|
char t11[] = "2017-4-3T2:1:2.98+09:00";
|
||||||
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t10, &time1, strlen(t10), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
char t12[] = "2017-4-3T2:1:2.98+0900";
|
char t12[] = "2017-4-3T2:1:2.98+0900";
|
||||||
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t11, &time, strlen(t11), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI);
|
taosParseTime(t12, &time1, strlen(t12), TSDB_TIME_PRECISION_MILLI, 0);
|
||||||
EXPECT_EQ(time, time1);
|
EXPECT_EQ(time, time1);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "UTC");
|
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);
|
EXPECT_EQ(time, 0);
|
||||||
|
|
||||||
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai");
|
taos_options(TSDB_OPTION_TIMEZONE, "Asia/Shanghai");
|
||||||
char t14[] = "1970-1-1T0:0:0Z";
|
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);
|
EXPECT_EQ(time, 0);
|
||||||
|
|
||||||
char t40[] = "1970-1-1 0:0:0.999999999";
|
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);
|
EXPECT_EQ(time, 999 + timezone * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
char t41[] = "1997-1-1 0:0:0.999999999";
|
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);
|
EXPECT_EQ(time, 852048000999);
|
||||||
|
|
||||||
int64_t k = timezone;
|
int64_t k = timezone;
|
||||||
char t42[] = "1997-1-1T0:0:0.999999999Z";
|
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);
|
EXPECT_EQ(time, 852048000999 - timezone * MILLISECOND_PER_SECOND);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// illegal timestamp format
|
// illegal timestamp format
|
||||||
char t15[] = "2017-12-33 0:0:0";
|
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";
|
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";
|
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";
|
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";
|
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";
|
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);
|
EXPECT_EQ(time, 1514682000100);
|
||||||
|
|
||||||
char t21[] = "2017-12-31T9:0:0.1+12:99";
|
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";
|
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";
|
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) {
|
TEST(testCase, tvariant_convert) {
|
||||||
|
|
|
@ -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
|
// 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) {
|
int rpcReportProgress(void *handle, char *pCont, int contLen) {
|
||||||
SRpcConn *pConn = (SRpcConn *)handle;
|
SRpcConn *pConn = (SRpcConn *)handle;
|
||||||
|
int code = 0;
|
||||||
|
|
||||||
|
rpcLockConn(pConn);
|
||||||
|
|
||||||
if (pConn->user[0]) {
|
if (pConn->user[0]) {
|
||||||
// pReqMsg and reqMsgLen is re-used to store the context from app server
|
// pReqMsg and reqMsgLen is re-used to store the context from app server
|
||||||
pConn->pReqMsg = pCont;
|
pConn->pReqMsg = pCont;
|
||||||
pConn->reqMsgLen = contLen;
|
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);
|
rpcUnlockConn(pConn);
|
||||||
rpcFreeCont(pCont);
|
return code;
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* todo: cancel process may have race condition, pContext may have been released
|
/* 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;
|
return pConn;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rpcCloseConn(void *thandle) {
|
static void rpcReleaseConn(SRpcConn *pConn) {
|
||||||
SRpcConn *pConn = (SRpcConn *)thandle;
|
|
||||||
SRpcInfo *pRpc = pConn->pRpc;
|
SRpcInfo *pRpc = pConn->pRpc;
|
||||||
if (pConn->user[0] == 0) return;
|
if (pConn->user[0] == 0) return;
|
||||||
|
|
||||||
rpcLockConn(pConn);
|
|
||||||
|
|
||||||
if (pConn->user[0] == 0) {
|
|
||||||
rpcUnlockConn(pConn);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
pConn->user[0] = 0;
|
pConn->user[0] = 0;
|
||||||
if (taosCloseConn[pConn->connType]) (*taosCloseConn[pConn->connType])(pConn->chandle);
|
if (taosCloseConn[pConn->connType]) (*taosCloseConn[pConn->connType])(pConn->chandle);
|
||||||
|
|
||||||
|
@ -591,7 +588,16 @@ static void rpcCloseConn(void *thandle) {
|
||||||
taosFreeId(pRpc->idPool, pConn->sid);
|
taosFreeId(pRpc->idPool, pConn->sid);
|
||||||
pConn->pContext = NULL;
|
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);
|
rpcUnlockConn(pConn);
|
||||||
}
|
}
|
||||||
|
@ -695,6 +701,7 @@ static SRpcConn *rpcGetConnObj(SRpcInfo *pRpc, int sid, SRecvInfo *pRecv) {
|
||||||
if (pConn) {
|
if (pConn) {
|
||||||
if (pConn->linkUid != pHead->linkUid) {
|
if (pConn->linkUid != pHead->linkUid) {
|
||||||
terrno = TSDB_CODE_RPC_MISMATCHED_LINK_ID;
|
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;
|
pConn = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -910,8 +917,8 @@ static void rpcProcessBrokenLink(SRpcConn *pConn) {
|
||||||
|
|
||||||
if (pConn->inType) rpcReportBrokenLinkToServer(pConn);
|
if (pConn->inType) rpcReportBrokenLinkToServer(pConn);
|
||||||
|
|
||||||
|
rpcReleaseConn(pConn);
|
||||||
rpcUnlockConn(pConn);
|
rpcUnlockConn(pConn);
|
||||||
rpcCloseConn(pConn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *rpcProcessMsgFromPeer(SRecvInfo *pRecv) {
|
static void *rpcProcessMsgFromPeer(SRecvInfo *pRecv) {
|
||||||
|
@ -1216,7 +1223,6 @@ static void rpcProcessConnError(void *param, void *id) {
|
||||||
static void rpcProcessRetryTimer(void *param, void *tmrId) {
|
static void rpcProcessRetryTimer(void *param, void *tmrId) {
|
||||||
SRpcConn *pConn = (SRpcConn *)param;
|
SRpcConn *pConn = (SRpcConn *)param;
|
||||||
SRpcInfo *pRpc = pConn->pRpc;
|
SRpcInfo *pRpc = pConn->pRpc;
|
||||||
int reportDisc = 0;
|
|
||||||
|
|
||||||
rpcLockConn(pConn);
|
rpcLockConn(pConn);
|
||||||
|
|
||||||
|
@ -1232,31 +1238,33 @@ static void rpcProcessRetryTimer(void *param, void *tmrId) {
|
||||||
} else {
|
} else {
|
||||||
// close the connection
|
// close the connection
|
||||||
tTrace("%s, failed to send msg:%s to %s:%hu", pConn->info, taosMsg[pConn->outType], pConn->peerFqdn, pConn->peerPort);
|
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 {
|
} else {
|
||||||
tTrace("%s, retry timer not processed", pConn->info);
|
tTrace("%s, retry timer not processed", pConn->info);
|
||||||
}
|
}
|
||||||
|
|
||||||
rpcUnlockConn(pConn);
|
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) {
|
static void rpcProcessIdleTimer(void *param, void *tmrId) {
|
||||||
SRpcConn *pConn = (SRpcConn *)param;
|
SRpcConn *pConn = (SRpcConn *)param;
|
||||||
|
|
||||||
|
rpcLockConn(pConn);
|
||||||
|
|
||||||
if (pConn->user[0]) {
|
if (pConn->user[0]) {
|
||||||
tTrace("%s, close the connection since no activity", pConn->info);
|
tTrace("%s, close the connection since no activity", pConn->info);
|
||||||
if (pConn->inType) rpcReportBrokenLinkToServer(pConn);
|
if (pConn->inType) rpcReportBrokenLinkToServer(pConn);
|
||||||
rpcCloseConn(pConn);
|
rpcReleaseConn(pConn);
|
||||||
} else {
|
} else {
|
||||||
tTrace("%s, idle timer:%p not processed", pConn->info, tmrId);
|
tTrace("%s, idle timer:%p not processed", pConn->info, tmrId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpcUnlockConn(pConn);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rpcProcessProgressTimer(void *param, void *tmrId) {
|
static void rpcProcessProgressTimer(void *param, void *tmrId) {
|
||||||
|
|
|
@ -424,6 +424,11 @@ int tsdbUpdateTable(STsdbMeta *pMeta, STable *pTable, STableCfg *pCfg) {
|
||||||
pTable->schema[pTable->numOfSchemas-1] = tSchema;
|
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;
|
isChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -595,6 +600,10 @@ int tsdbDropTable(TsdbRepoT *repo, STableId tableId) {
|
||||||
return -1;
|
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),
|
tsdbTrace("vgId:%d, table %s is dropped! tid:%d, uid:%" PRId64, pRepo->config.tsdbId, varDataVal(pTable->name),
|
||||||
tableId.tid, tableId.uid);
|
tableId.tid, tableId.uid);
|
||||||
if (tsdbRemoveTableFromMeta(pMeta, pTable, true) < 0) return -1;
|
if (tsdbRemoveTableFromMeta(pMeta, pTable, true) < 0) return -1;
|
||||||
|
|
|
@ -325,6 +325,11 @@ void vnodeRelease(void *pVnodeRaw) {
|
||||||
tsdbCloseRepo(pVnode->tsdb, 1);
|
tsdbCloseRepo(pVnode->tsdb, 1);
|
||||||
pVnode->tsdb = NULL;
|
pVnode->tsdb = NULL;
|
||||||
|
|
||||||
|
// stop continuous query
|
||||||
|
if (pVnode->cq)
|
||||||
|
cqClose(pVnode->cq);
|
||||||
|
pVnode->cq = NULL;
|
||||||
|
|
||||||
if (pVnode->wal)
|
if (pVnode->wal)
|
||||||
walClose(pVnode->wal);
|
walClose(pVnode->wal);
|
||||||
pVnode->wal = NULL;
|
pVnode->wal = NULL;
|
||||||
|
@ -436,11 +441,6 @@ static void vnodeCleanUp(SVnodeObj *pVnode) {
|
||||||
pVnode->sync = NULL;
|
pVnode->sync = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop continuous query
|
|
||||||
if (pVnode->cq)
|
|
||||||
cqClose(pVnode->cq);
|
|
||||||
pVnode->cq = NULL;
|
|
||||||
|
|
||||||
// release local resources only after cutting off outside connections
|
// release local resources only after cutting off outside connections
|
||||||
vnodeRelease(pVnode);
|
vnodeRelease(pVnode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ python3 ./test.py -f user/user_create.py
|
||||||
python3 ./test.py -f user/pass_len.py
|
python3 ./test.py -f user/pass_len.py
|
||||||
|
|
||||||
# table
|
# table
|
||||||
#python3 ./test.py -f table/del_stable.py
|
python3 ./test.py -f table/del_stable.py
|
||||||
|
|
||||||
#query
|
#query
|
||||||
python3 ./test.py -f query/filter.py
|
python3 ./test.py -f query/filter.py
|
||||||
|
|
|
@ -22,12 +22,12 @@ class TDTestCase:
|
||||||
def init(self, conn, logSql):
|
def init(self, conn, logSql):
|
||||||
tdLog.debug("start to execute %s" % __file__)
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
tdSql.init(conn.cursor())
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
self.powers = [7, 15, 31, 63]
|
self.powers = [7, 15, 31, 63]
|
||||||
self.types = ["tinyint", "smallint", "int", "bigint"]
|
self.types = ["tinyint", "smallint", "int", "bigint"]
|
||||||
self.rowNum = 10
|
self.rowNum = 10
|
||||||
self.ts = 1537146000000
|
self.ts = 1537146000000
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
tdSql.prepare()
|
tdSql.prepare()
|
||||||
|
|
||||||
|
@ -35,20 +35,30 @@ class TDTestCase:
|
||||||
curType = self.types[i]
|
curType = self.types[i]
|
||||||
print("======= Verify filter for %s type =========" % (curType))
|
print("======= Verify filter for %s type =========" % (curType))
|
||||||
tdLog.debug(
|
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(
|
tdSql.execute(
|
||||||
"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))
|
||||||
#create 10 tables, insert 10 rows for each table
|
|
||||||
for j in range(self.rowNum):
|
# create 10 tables, insert 10 rows for each table
|
||||||
tdSql.execute("create table st%s%d using st%s tags(%d)" % (curType, j + 1, curType, j + 1))
|
for j in range(self.rowNum):
|
||||||
for k in range(self.rowNum):
|
tdSql.execute(
|
||||||
tdSql.execute("insert into st%s%d values(%d, %d)" % (curType, j + 1, self.ts + k + 1, j * 10 + k + 1))
|
"create table st%s%d using st%s tags(%d)" %
|
||||||
|
(curType, j + 1, curType, j + 1))
|
||||||
tdSql.error("insert into st%s10 values(%d, %d)" % (curType, self.ts + 11, pow(2, self.powers[i])))
|
for k in range(self.rowNum):
|
||||||
tdSql.execute("insert into st%s10 values(%d, %d)" % (curType, self.ts + 12, pow(2, self.powers[i]) - 1))
|
tdSql.execute(
|
||||||
tdSql.error("insert into st%s10 values(%d, %d)" % (curType, self.ts + 13, pow(-2, self.powers[i])))
|
"insert into st%s%d values(%d, %d)" %
|
||||||
tdSql.execute("insert into st%s10 values(%d, %d)" % (curType, self.ts + 14, pow(-2, self.powers[i]) + 1))
|
(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
|
# > for int type on column
|
||||||
tdSql.query("select * from st%s where num > 50" % curType)
|
tdSql.query("select * from st%s where num > 50" % curType)
|
||||||
|
@ -104,10 +114,12 @@ class TDTestCase:
|
||||||
|
|
||||||
# != for int type on tag
|
# != for int type on tag
|
||||||
tdSql.query("select * from st%s where id != 5" % curType)
|
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):
|
def stop(self):
|
||||||
tdSql.close()
|
tdSql.close()
|
||||||
tdLog.success("%s successfully executed" % __file__)
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
|
@ -21,28 +21,28 @@ from util.sql import *
|
||||||
class TDTestCase:
|
class TDTestCase:
|
||||||
def init(self, conn, logSql):
|
def init(self, conn, logSql):
|
||||||
tdLog.debug("start to execute %s" % __file__)
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
tdSql.init(conn.cursor())
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
self.rowNum = 10
|
self.rowNum = 10
|
||||||
self.ts = 1537146000000
|
self.ts = 1537146000000
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
tdSql.prepare()
|
tdSql.prepare()
|
||||||
|
|
||||||
print("======= Verify filter for float and double type =========")
|
print("======= Verify filter for float and double type =========")
|
||||||
tdLog.debug(
|
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(
|
tdSql.execute(
|
||||||
"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)")
|
||||||
|
|
||||||
for j in range(self.rowNum):
|
for j in range(self.rowNum):
|
||||||
tdSql.execute(
|
tdSql.execute("insert into st1 using st tags(1.1, 2.3) values(%d, %f, %f)" % (
|
||||||
"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)))
|
self.ts + j + 1, 1.1 * (j + 1), 2.3 * (j + 1)))
|
||||||
|
|
||||||
# > for float type on column
|
# > for float type on column
|
||||||
tdSql.query("select * from st where num > 5.5")
|
tdSql.query("select * from st where num > 5.5")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# >= for float type on column
|
# >= for float type on column
|
||||||
tdSql.query("select * from st where num >= 5.5")
|
tdSql.query("select * from st where num >= 5.5")
|
||||||
tdSql.checkRows(6)
|
tdSql.checkRows(6)
|
||||||
|
@ -70,11 +70,11 @@ class TDTestCase:
|
||||||
# > for float type on tag
|
# > for float type on tag
|
||||||
tdSql.query("select * from st where tagcol1 > 1.1")
|
tdSql.query("select * from st where tagcol1 > 1.1")
|
||||||
tdSql.checkRows(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# >= for float type on tag
|
# >= for float type on tag
|
||||||
tdSql.query("select * from st where tagcol1 >= 1.1")
|
tdSql.query("select * from st where tagcol1 >= 1.1")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# = for float type on tag
|
# = for float type on tag
|
||||||
tdSql.query("select * from st where tagcol1 = 1.1")
|
tdSql.query("select * from st where tagcol1 = 1.1")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
@ -86,7 +86,7 @@ class TDTestCase:
|
||||||
# != for float type on tag
|
# != for float type on tag
|
||||||
tdSql.query("select * from st where tagcol1 != 1.1")
|
tdSql.query("select * from st where tagcol1 != 1.1")
|
||||||
tdSql.checkRows(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# <= for float type on tag
|
# <= for float type on tag
|
||||||
tdSql.query("select * from st where tagcol1 <= 1.1")
|
tdSql.query("select * from st where tagcol1 <= 1.1")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
@ -94,11 +94,11 @@ class TDTestCase:
|
||||||
# < for float type on tag
|
# < for float type on tag
|
||||||
tdSql.query("select * from st where tagcol1 < 1.1")
|
tdSql.query("select * from st where tagcol1 < 1.1")
|
||||||
tdSql.checkRows(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# > for double type on column
|
# > for double type on column
|
||||||
tdSql.query("select * from st where speed > 11.5")
|
tdSql.query("select * from st where speed > 11.5")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# >= for double type on column
|
# >= for double type on column
|
||||||
tdSql.query("select * from st where speed >= 11.5")
|
tdSql.query("select * from st where speed >= 11.5")
|
||||||
tdSql.checkRows(6)
|
tdSql.checkRows(6)
|
||||||
|
@ -126,11 +126,11 @@ class TDTestCase:
|
||||||
# > for double type on tag
|
# > for double type on tag
|
||||||
tdSql.query("select * from st where tagcol2 > 2.3")
|
tdSql.query("select * from st where tagcol2 > 2.3")
|
||||||
tdSql.checkRows(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# >= for double type on tag
|
# >= for double type on tag
|
||||||
tdSql.query("select * from st where tagcol2 >= 2.3")
|
tdSql.query("select * from st where tagcol2 >= 2.3")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# = for double type on tag
|
# = for double type on tag
|
||||||
tdSql.query("select * from st where tagcol2 = 2.3")
|
tdSql.query("select * from st where tagcol2 = 2.3")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
@ -142,7 +142,7 @@ class TDTestCase:
|
||||||
# != for double type on tag
|
# != for double type on tag
|
||||||
tdSql.query("select * from st where tagcol2 != 2.3")
|
tdSql.query("select * from st where tagcol2 != 2.3")
|
||||||
tdSql.checkRows(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# <= for double type on tag
|
# <= for double type on tag
|
||||||
tdSql.query("select * from st where tagcol2 <= 2.3")
|
tdSql.query("select * from st where tagcol2 <= 2.3")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
@ -150,7 +150,7 @@ class TDTestCase:
|
||||||
# < for double type on tag
|
# < for double type on tag
|
||||||
tdSql.query("select * from st where tagcol2 < 2.3")
|
tdSql.query("select * from st where tagcol2 < 2.3")
|
||||||
tdSql.checkRows(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
tdSql.close()
|
tdSql.close()
|
||||||
tdLog.success("%s successfully executed" % __file__)
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
|
@ -21,33 +21,39 @@ from util.sql import *
|
||||||
class TDTestCase:
|
class TDTestCase:
|
||||||
def init(self, conn, logSql):
|
def init(self, conn, logSql):
|
||||||
tdLog.debug("start to execute %s" % __file__)
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
tdSql.init(conn.cursor())
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
self.ts = 1537146000000
|
self.ts = 1537146000000
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
tdSql.prepare()
|
tdSql.prepare()
|
||||||
|
|
||||||
print("======= Verify filter for bool, nchar and binary type =========")
|
print("======= Verify filter for bool, nchar and binary type =========")
|
||||||
tdLog.debug(
|
tdLog.debug(
|
||||||
"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(
|
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', '水表')")
|
tdSql.execute("create table st1 using st tags(true, 'table1', '水表')")
|
||||||
for i in range(1, 6):
|
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(
|
||||||
|
"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', '电表')")
|
tdSql.execute("create table st2 using st tags(false, 'table2', '电表')")
|
||||||
for i in range(6, 11):
|
for i in range(6, 11):
|
||||||
tdSql.execute("insert into st2 values(%d, %d, 'taosdata%d', '涛思数据%d')" % (self.ts + i, i % 2, i, i))
|
tdSql.execute(
|
||||||
|
"insert into st2 values(%d, %d, 'taosdata%d', '涛思数据%d')" %
|
||||||
|
(self.ts + i, i %
|
||||||
|
2, i, i))
|
||||||
|
|
||||||
# =============Verify stable columns====================
|
# =============Verify stable columns====================
|
||||||
# > for bool type on column
|
# > 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
|
# >= 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
|
# = for bool type on column
|
||||||
tdSql.query("select * from st where tbcol1 = false")
|
tdSql.query("select * from st where tbcol1 = false")
|
||||||
|
@ -77,18 +83,18 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tbcol2 > 'taosdata'")
|
tdSql.error("select * from st where tbcol2 > 'taosdata'")
|
||||||
|
|
||||||
# >= for nchar type on column
|
# >= 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
|
# = for nchar type on column
|
||||||
tdSql.query("select * from st where tbcol2 = 'taosdata1'")
|
tdSql.query("select * from st where tbcol2 = 'taosdata1'")
|
||||||
tdSql.checkRows(1)
|
tdSql.checkRows(1)
|
||||||
|
|
||||||
# <> for nchar type on column
|
# <> for nchar type on column
|
||||||
tdSql.query("select * from st where tbcol2 <> 'taosdata1'")
|
tdSql.query("select * from st where tbcol2 <> 'taosdata1'")
|
||||||
tdSql.checkRows(9)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# != for nchar type on column
|
# != for nchar type on column
|
||||||
tdSql.query("select * from st where tbcol2 != 'taosdata1'")
|
tdSql.query("select * from st where tbcol2 != 'taosdata1'")
|
||||||
tdSql.checkRows(9)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# > for nchar type on column
|
# > for nchar type on column
|
||||||
|
@ -98,57 +104,57 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tbcol2 <= 'taodata'")
|
tdSql.error("select * from st where tbcol2 <= 'taodata'")
|
||||||
|
|
||||||
# % for nchar type on column case 1
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for nchar type on column case 2
|
# % 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# % for nchar type on column case 3
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for nchar type on column case 4
|
# % 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)
|
# tdSql.checkRows(2)
|
||||||
|
|
||||||
# _ for nchar type on column case 1
|
# _ 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(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for nchar type on column case 2
|
# _ 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)
|
tdSql.checkRows(1)
|
||||||
|
|
||||||
# _ for nchar type on column case 3
|
# _ 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)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# _ for nchar type on column case 4
|
# _ 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)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# _ for nchar type on column case 5
|
# _ 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# > for binary type on column
|
# > for binary type on column
|
||||||
tdSql.error("select * from st where tbcol3 > '涛思数据'")
|
tdSql.error("select * from st where tbcol3 > '涛思数据'")
|
||||||
|
|
||||||
# >= for binary type on column
|
# >= for binary type on column
|
||||||
tdSql.error("select * from st where tbcol3 >= '涛思数据'")
|
tdSql.error("select * from st where tbcol3 >= '涛思数据'")
|
||||||
|
|
||||||
# = for binary type on column
|
# = for binary type on column
|
||||||
tdSql.query("select * from st where tbcol3 = '涛思数据1'")
|
tdSql.query("select * from st where tbcol3 = '涛思数据1'")
|
||||||
tdSql.checkRows(1)
|
tdSql.checkRows(1)
|
||||||
|
|
||||||
# <> for binary type on column
|
# <> for binary type on column
|
||||||
tdSql.query("select * from st where tbcol3 <> '涛思数据1'")
|
tdSql.query("select * from st where tbcol3 <> '涛思数据1'")
|
||||||
tdSql.checkRows(9)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# != for binary type on column
|
# != for binary type on column
|
||||||
tdSql.query("select * from st where tbcol3 != '涛思数据1'")
|
tdSql.query("select * from st where tbcol3 != '涛思数据1'")
|
||||||
tdSql.checkRows(9)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# > for binary type on column
|
# > for binary type on column
|
||||||
|
@ -158,39 +164,39 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tbcol3 <= '涛思数据'")
|
tdSql.error("select * from st where tbcol3 <= '涛思数据'")
|
||||||
|
|
||||||
# % for binary type on column case 1
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for binary type on column case 2
|
# % 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# % for binary type on column case 3
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for binary type on column case 4
|
# % 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)
|
tdSql.checkRows(1)
|
||||||
|
|
||||||
# _ for binary type on column case 1
|
# _ 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(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for binary type on column case 2
|
# _ 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)
|
tdSql.checkRows(1)
|
||||||
|
|
||||||
# _ for binary type on column case 2
|
# _ 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)
|
tdSql.checkRows(9)
|
||||||
|
|
||||||
# _ for binary type on column case 3
|
# _ 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for binary type on column case 4
|
# _ 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# =============Verify stable tags====================
|
# =============Verify stable tags====================
|
||||||
|
@ -198,7 +204,7 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tagcol1 > false")
|
tdSql.error("select * from st where tagcol1 > false")
|
||||||
|
|
||||||
# >= for bool type on tag
|
# >= 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
|
# = for bool type on tag
|
||||||
tdSql.query("select * from st where tagcol1 = false")
|
tdSql.query("select * from st where tagcol1 = false")
|
||||||
|
@ -228,18 +234,18 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tagcol2 > 'table'")
|
tdSql.error("select * from st where tagcol2 > 'table'")
|
||||||
|
|
||||||
# >= for nchar type on tag
|
# >= 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
|
# = for nchar type on tag
|
||||||
tdSql.query("select * from st where tagcol2 = 'table1'")
|
tdSql.query("select * from st where tagcol2 = 'table1'")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# <> for nchar type on tag
|
# <> for nchar type on tag
|
||||||
tdSql.query("select * from st where tagcol2 <> 'table1'")
|
tdSql.query("select * from st where tagcol2 <> 'table1'")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# != for nchar type on tag
|
# != for nchar type on tag
|
||||||
tdSql.query("select * from st where tagcol2 != 'table'")
|
tdSql.query("select * from st where tagcol2 != 'table'")
|
||||||
tdSql.checkRows(10)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# > for nchar type on tag
|
# > for nchar type on tag
|
||||||
|
@ -249,57 +255,57 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tagcol2 <= 'table'")
|
tdSql.error("select * from st where tagcol2 <= 'table'")
|
||||||
|
|
||||||
# % for nchar type on tag case 1
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for nchar type on tag case 2
|
# % 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# % for nchar type on tag case 3
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for nchar type on tag case 4
|
# % 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)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# _ for nchar type on tag case 1
|
# _ 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(0)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for nchar type on tag case 2
|
# _ 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# _ for nchar type on tag case 3
|
# _ 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# _ for nchar type on tag case 4
|
# _ 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for nchar type on tag case 5
|
# _ 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# > for binary type on tag
|
# > for binary type on tag
|
||||||
tdSql.error("select * from st where tagcol3 > '表'")
|
tdSql.error("select * from st where tagcol3 > '表'")
|
||||||
|
|
||||||
# >= for binary type on tag
|
# >= for binary type on tag
|
||||||
tdSql.error("select * from st where tagcol3 >= '表'")
|
tdSql.error("select * from st where tagcol3 >= '表'")
|
||||||
|
|
||||||
# = for binary type on tag
|
# = for binary type on tag
|
||||||
tdSql.query("select * from st where tagcol3 = '水表'")
|
tdSql.query("select * from st where tagcol3 = '水表'")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# <> for binary type on tag
|
# <> for binary type on tag
|
||||||
tdSql.query("select * from st where tagcol3 <> '水表'")
|
tdSql.query("select * from st where tagcol3 <> '水表'")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# != for binary type on tag
|
# != for binary type on tag
|
||||||
tdSql.query("select * from st where tagcol3 != '水表'")
|
tdSql.query("select * from st where tagcol3 != '水表'")
|
||||||
tdSql.checkRows(5)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# > for binary type on tag
|
# > for binary type on tag
|
||||||
|
@ -309,54 +315,53 @@ class TDTestCase:
|
||||||
tdSql.error("select * from st where tagcol3 <= '水表'")
|
tdSql.error("select * from st where tagcol3 <= '水表'")
|
||||||
|
|
||||||
# % for binary type on tag case 1
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for binary type on tag case 2
|
# % 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)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# % for binary type on tag case 3
|
# % 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# % for binary type on tag case 4
|
# % 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# % for binary type on tag case 5
|
# % 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for binary type on tag case 1
|
# _ 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# _ for binary type on tag case 2
|
# _ 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)
|
tdSql.checkRows(5)
|
||||||
|
|
||||||
# _ for binary type on tag case 2
|
# _ 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)
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
# _ for binary type on tag case 3
|
# _ 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for binary type on tag case 4
|
# _ 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
# _ for binary type on tag case 5
|
# _ 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)
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
tdSql.close()
|
tdSql.close()
|
||||||
tdLog.success("%s successfully executed" % __file__)
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
|
||||||
tdCases.addWindows(__file__, TDTestCase())
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
tdCases.addLinux(__file__, TDTestCase())
|
tdCases.addLinux(__file__, TDTestCase())
|
||||||
|
|
||||||
|
|
|
@ -21,56 +21,60 @@ from util.sql import *
|
||||||
class TDTestCase:
|
class TDTestCase:
|
||||||
def init(self, conn, logSql):
|
def init(self, conn, logSql):
|
||||||
tdLog.debug("start to execute %s" % __file__)
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
tdSql.init(conn.cursor())
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
self.rowNum = 10
|
self.rowNum = 10
|
||||||
self.ts = 1537146000000
|
self.ts = 1537146000000
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
tdSql.prepare()
|
tdSql.prepare()
|
||||||
|
|
||||||
print("======= step 1: create table and insert data =========")
|
print("======= step 1: create table and insert data =========")
|
||||||
tdLog.debug(
|
tdLog.debug(
|
||||||
''' create table st(ts timestamp, tbcol1 tinyint, tbcol2 smallint, tbcol3 int, tbcol4 bigint, tbcol5 float, tbcol6 double,
|
''' 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,
|
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))''')
|
tagcol6 double, tagcol7 bool, tagcol8 nchar(20), tagcol9 binary(20))''')
|
||||||
tdSql.execute(
|
tdSql.execute(
|
||||||
''' create table st(ts timestamp, tbcol1 tinyint, tbcol2 smallint, tbcol3 int, tbcol4 bigint, tbcol5 float, tbcol6 double,
|
''' 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,
|
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))''')
|
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))
|
|
||||||
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))
|
|
||||||
|
|
||||||
|
|
||||||
print("======= step 2: verify order for each column =========")
|
for i in range(self.rowNum):
|
||||||
# sort for timestamp in asc order
|
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))
|
||||||
|
|
||||||
|
print("======= step 2: verify order for each column =========")
|
||||||
|
# sort for timestamp in asc order
|
||||||
tdSql.query("select * from st order by ts asc")
|
tdSql.query("select * from st order by ts asc")
|
||||||
tdSql.checkColumnSorted(0, "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.query("select * from st order by ts desc")
|
||||||
tdSql.checkColumnSorted(0, "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.query(
|
||||||
tdSql.error("select * from st order by tbcol%d" % i)
|
"select avg(tbcol1) from st group by tagcol%d order by tagcol%d" %
|
||||||
tdSql.error("select * from st order by tbcol%d asc" % i)
|
(i, 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.checkColumnSorted(1, "")
|
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.checkColumnSorted(1, "asc")
|
||||||
|
|
||||||
tdSql.query("select avg(tbcol1) from st group by tagcol%d order by tagcol%d desc" % (i, i))
|
tdSql.query(
|
||||||
tdSql.checkColumnSorted(1, "desc")
|
"select avg(tbcol1) from st group by tagcol%d order by tagcol%d desc" %
|
||||||
|
(i, i))
|
||||||
|
tdSql.checkColumnSorted(1, "desc")
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
tdSql.close()
|
tdSql.close()
|
||||||
tdLog.success("%s successfully executed" % __file__)
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
|
@ -13,18 +13,46 @@
|
||||||
|
|
||||||
import taos
|
import taos
|
||||||
import time
|
import time
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
conn = taos.connect(host="127.0.0.1", user="root", password="taosdata", config="/etc/taos")
|
class DBWriteNonStop:
|
||||||
c1 = conn.cursor()
|
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')
|
def createTable()
|
||||||
c1.execute('use db')
|
|
||||||
|
|
||||||
|
|
||||||
|
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))')
|
c1.execute('create table if not exists st (ts timestamp, value nchar(50), speed int) tags(dev nchar(50))')
|
||||||
|
|
||||||
i = 1
|
i = 1
|
||||||
|
|
||||||
|
startTime = datetime.now()
|
||||||
while True:
|
while True:
|
||||||
c1.execute("insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" % (i % 10000, i % 100000))
|
c1.execute("insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" % (i % 10000, i % 100000))
|
||||||
i += 1
|
i += 1
|
||||||
i = i % 32000000
|
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)
|
|
@ -97,6 +97,8 @@ class Test:
|
||||||
"create table %s using %s tags (1, '表1')" %
|
"create table %s using %s tags (1, '表1')" %
|
||||||
(current_tb, self.last_stb))
|
(current_tb, self.last_stb))
|
||||||
self.last_tb = current_tb
|
self.last_tb = current_tb
|
||||||
|
self.written = 0
|
||||||
|
|
||||||
tdSql.execute(
|
tdSql.execute(
|
||||||
"insert into %s values (now, 27, '我是nchar字符串')" %
|
"insert into %s values (now, 27, '我是nchar字符串')" %
|
||||||
self.last_tb)
|
self.last_tb)
|
||||||
|
|
|
@ -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/4.py
|
||||||
python3 ./test.py -f tag_lite/5.py
|
python3 ./test.py -f tag_lite/5.py
|
||||||
python3 ./test.py -f tag_lite/6.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/bigint.py
|
||||||
python3 ./test.py -f tag_lite/binary_binary.py
|
python3 ./test.py -f tag_lite/binary_binary.py
|
||||||
python3 ./test.py -f tag_lite/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_binary.py
|
||||||
python3 ./test.py -f tag_lite/bool_int.py
|
python3 ./test.py -f tag_lite/bool_int.py
|
||||||
python3 ./test.py -f tag_lite/bool.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/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/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/datatype-without-alter.py
|
||||||
# python3 ./test.py -f tag_lite/delete.py
|
# python3 ./test.py -f tag_lite/delete.py
|
||||||
python3 ./test.py -f tag_lite/double.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_binary.py
|
||||||
python3 ./test.py -f tag_lite/int_float.py
|
python3 ./test.py -f tag_lite/int_float.py
|
||||||
python3 ./test.py -f tag_lite/int.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/smallint.py
|
||||||
python3 ./test.py -f tag_lite/tinyint.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
|
python3 ./test.py -f user/pass_len.py
|
||||||
|
|
||||||
# table
|
# table
|
||||||
# python3 ./test.py -f table/del_stable.py
|
python3 ./test.py -f table/del_stable.py
|
||||||
|
|
||||||
#query
|
#query
|
||||||
python3 ./test.py -f query/filter.py
|
python3 ./test.py -f query/filter.py
|
||||||
|
|
|
@ -40,13 +40,13 @@ class TDTestCase:
|
||||||
try:
|
try:
|
||||||
tdSql.execute("select * from db.st")
|
tdSql.execute("select * from db.st")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if e.args[0] != 'invalid table name':
|
if e.args[0] != 'mnode invalid table name':
|
||||||
tdLog.exit(e)
|
tdLog.exit(e)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
tdSql.execute("select * from db.tb")
|
tdSql.execute("select * from db.tb")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if e.args[0] != 'invalid table name':
|
if e.args[0] != 'mnode invalid table name':
|
||||||
tdLog.exit(e)
|
tdLog.exit(e)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
|
|
|
@ -18,7 +18,10 @@ class TDTestCase:
|
||||||
tdSql.prepare()
|
tdSql.prepare()
|
||||||
|
|
||||||
getTableNameLen = "grep -w '#define TSDB_TABLE_NAME_LEN' ../../src/inc/taosdef.h|awk '{print $3}'"
|
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)
|
tdLog.info("table name max length is %d" % tableNameMaxLen)
|
||||||
chars = string.ascii_uppercase + string.ascii_lowercase
|
chars = string.ascii_uppercase + string.ascii_lowercase
|
||||||
tb_name = ''.join(random.choices(chars, k=tableNameMaxLen))
|
tb_name = ''.join(random.choices(chars, k=tableNameMaxLen))
|
||||||
|
|
|
@ -84,18 +84,34 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tagcx tgcol3 -x step21
|
# 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: return -1
|
||||||
# TSIM: step21:
|
# TSIM: step21:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol2 -x step22
|
# 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: return -1
|
||||||
# TSIM: step22:
|
# 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: return -1
|
||||||
# TSIM: step20:
|
# TSIM: step20:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol3
|
# 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
|
# 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
|
# 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: return -1
|
||||||
# TSIM: step23:
|
# TSIM: step23:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -141,7 +157,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol3
|
# 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
|
# 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:
|
||||||
# TSIM: print =============== step4
|
# TSIM: print =============== step4
|
||||||
tdLog.info('=============== step4')
|
tdLog.info('=============== step4')
|
||||||
|
@ -185,7 +205,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol3
|
# 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
|
# 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:
|
||||||
# TSIM: print =============== step5
|
# TSIM: print =============== step5
|
||||||
tdLog.info('=============== step5')
|
tdLog.info('=============== step5')
|
||||||
|
@ -224,12 +248,16 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, 2)')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol3
|
# 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
|
# 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:
|
||||||
# TSIM: print =============== step6
|
# TSIM: print =============== step6
|
||||||
tdLog.info('=============== step6')
|
tdLog.info('=============== step6')
|
||||||
|
@ -243,8 +271,10 @@ class TDTestCase:
|
||||||
tdSql.execute(
|
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))')
|
'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' )
|
# 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' )")
|
tdLog.info(
|
||||||
tdSql.execute("create table tb6 using ta_ch_mt6 tags( '1', 2, 3, '4', 5, '6' )")
|
"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)
|
# TSIM: sql insert into $tb values(now, 1)
|
||||||
tdLog.info("insert into tb6 values(now, 1)")
|
tdLog.info("insert into tb6 values(now, 1)")
|
||||||
tdSql.execute("insert into tb6 values(now, 1)")
|
tdSql.execute("insert into tb6 values(now, 1)")
|
||||||
|
@ -257,13 +287,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data01 != 1 then
|
# TSIM: if $data01 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 1, 1)')
|
tdLog.info("tdSql.checkData(0, 1, 1)")
|
||||||
tdSql.checkData(0, 1, 1)
|
tdSql.checkData(0, 1, 1)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -278,7 +308,7 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 4)')
|
tdLog.info('tdSql.checkData(0, 5, 4)')
|
||||||
tdSql.checkData(0, 5, 4)
|
tdSql.checkData(0, 5, '4')
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5.000000000 then
|
# TSIM: if $data06 != 5.000000000 then
|
||||||
|
@ -288,22 +318,42 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 6 then
|
# TSIM: if $data07 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 7, 6)')
|
tdLog.info('tdSql.checkData(0, 7, 6)')
|
||||||
tdSql.checkData(0, 7, 6)
|
tdSql.checkData(0, 7, '6')
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt drop tag tgcol3
|
# 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
|
# TSIM: sql reset query cache
|
||||||
|
tdLog.info("reset query cache")
|
||||||
|
tdSql.execute("reset query cache")
|
||||||
# TSIM: sql alter table $mt change tag tgcol4 tgcol3
|
# 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
|
# 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
|
# 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
|
# TSIM: sql reset query cache
|
||||||
|
tdLog.info("reset query cache")
|
||||||
|
tdSql.execute("reset query cache")
|
||||||
# TSIM: sql alter table $mt change tag tgcol3 tgcol9
|
# 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
|
# 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
|
# 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:
|
||||||
# TSIM: sleep 5000
|
# TSIM: sleep 5000
|
||||||
# TSIM: sql reset query cache
|
# TSIM: sql reset query cache
|
||||||
|
tdLog.info("reset query cache")
|
||||||
|
tdSql.execute("reset query cache")
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: print =============== step2
|
# TSIM: print =============== step2
|
||||||
tdLog.info('=============== step2')
|
tdLog.info('=============== step2')
|
||||||
|
@ -313,12 +363,12 @@ class TDTestCase:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol1 = 1 -x step24
|
# TSIM: sql select * from $mt where tgcol1 = 1 -x step24
|
||||||
tdLog.info('select * from ta_ch_mt2 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: return -1
|
||||||
# TSIM: step24:
|
# TSIM: step24:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step25
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step25
|
||||||
tdLog.info('select * from ta_ch_mt2 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: return -1
|
||||||
# TSIM: step25:
|
# TSIM: step25:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -382,12 +432,12 @@ class TDTestCase:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol1 = 1 -x step31
|
# TSIM: sql select * from $mt where tgcol1 = 1 -x step31
|
||||||
tdLog.info('select * from ta_ch_mt3 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: return -1
|
||||||
# TSIM: step31:
|
# TSIM: step31:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step32
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step32
|
||||||
tdLog.info('select * from ta_ch_mt3 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: return -1
|
||||||
# TSIM: step32:
|
# TSIM: step32:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -418,8 +468,8 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol4 = 2
|
# TSIM: sql select * from $mt where tgcol4 = 2
|
||||||
tdLog.info('select * from $mt where tgcol4 = 2')
|
tdLog.info('select * from ta_ch_mt3 where tgcol4 = 2')
|
||||||
tdSql.query('select * from $mt where tgcol4 = 2')
|
tdSql.query('select * from ta_ch_mt3 where tgcol4 = 2')
|
||||||
# TSIM: print $data01 $data02 $data03
|
# TSIM: print $data01 $data02 $data03
|
||||||
tdLog.info('$data01 $data02 $data03')
|
tdLog.info('$data01 $data02 $data03')
|
||||||
# TSIM: if $rows != 1 then
|
# TSIM: if $rows != 1 then
|
||||||
|
@ -551,7 +601,7 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, 2)')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -577,7 +627,7 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, 2)')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -589,32 +639,32 @@ class TDTestCase:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol1 = 1 -x step61
|
# TSIM: sql select * from $mt where tgcol1 = 1 -x step61
|
||||||
tdLog.info('select * from ta_ch_mt6 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: return -1
|
||||||
# TSIM: step61:
|
# TSIM: step61:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step62
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step62
|
||||||
tdLog.info('select * from ta_ch_mt6 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: return -1
|
||||||
# TSIM: step62:
|
# TSIM: step62:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step63
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step63
|
||||||
tdLog.info('select * from ta_ch_mt6 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: return -1
|
||||||
# TSIM: step63:
|
# TSIM: step63:
|
||||||
# TSIM: sql select * from $mt where tgcol4 = 1 -x step64
|
# TSIM: sql select * from $mt where tgcol4 = 1 -x step64
|
||||||
tdLog.info('select * from ta_ch_mt6 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: return -1
|
||||||
# TSIM: step64:
|
# TSIM: step64:
|
||||||
# TSIM: sql select * from $mt where tgcol5 = 1 -x step65
|
# TSIM: sql select * from $mt where tgcol5 = 1 -x step65
|
||||||
tdLog.info('select * from ta_ch_mt6 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: return -1
|
||||||
# TSIM: step65:
|
# TSIM: step65:
|
||||||
# TSIM: sql select * from $mt where tgcol6 = 1 -x step66
|
# TSIM: sql select * from $mt where tgcol6 = 1 -x step66
|
||||||
tdLog.info('select * from ta_ch_mt6 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: return -1
|
||||||
# TSIM: step66:
|
# TSIM: step66:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -634,8 +684,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -644,8 +694,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 4 then
|
# TSIM: if $data04 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 4)')
|
tdLog.info('tdSql.checkData(0, 4, "4")')
|
||||||
tdSql.checkData(0, 4, 4)
|
tdSql.checkData(0, 4, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 5.000000000 then
|
# TSIM: if $data05 != 5.000000000 then
|
||||||
|
@ -654,13 +704,18 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 6 then
|
# TSIM: if $data06 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 6)')
|
tdLog.info('tdSql.checkData(0, 6, "6")')
|
||||||
tdSql.checkData(0, 6, 6)
|
tdSql.checkData(0, 6, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -680,8 +735,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -690,8 +745,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 4 then
|
# TSIM: if $data04 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 4)')
|
tdLog.info('tdSql.checkData(0, 4, "4"")')
|
||||||
tdSql.checkData(0, 4, 4)
|
tdSql.checkData(0, 4, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 5.000000000 then
|
# TSIM: if $data05 != 5.000000000 then
|
||||||
|
@ -700,13 +755,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 6 then
|
# TSIM: if $data06 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 6)')
|
tdLog.info('tdSql.checkData(0, 6, "6")')
|
||||||
tdSql.checkData(0, 6, 6)
|
tdSql.checkData(0, 6, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -726,8 +785,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -736,8 +795,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 4 then
|
# TSIM: if $data04 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 4)')
|
tdLog.info('tdSql.checkData(0, 4, "4")')
|
||||||
tdSql.checkData(0, 4, 4)
|
tdSql.checkData(0, 4, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 5.000000000 then
|
# TSIM: if $data05 != 5.000000000 then
|
||||||
|
@ -746,13 +805,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 6 then
|
# TSIM: if $data06 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 6)')
|
tdLog.info('tdSql.checkData(0, 6, "6")')
|
||||||
tdSql.checkData(0, 6, 6)
|
tdSql.checkData(0, 6, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -772,8 +835,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -782,8 +845,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 4 then
|
# TSIM: if $data04 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 4)')
|
tdLog.info('tdSql.checkData(0, 4, "4")')
|
||||||
tdSql.checkData(0, 4, 4)
|
tdSql.checkData(0, 4, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 5.000000000 then
|
# TSIM: if $data05 != 5.000000000 then
|
||||||
|
@ -792,13 +855,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 6 then
|
# TSIM: if $data06 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 6)')
|
tdLog.info('tdSql.checkData(0, 6, "6")')
|
||||||
tdSql.checkData(0, 6, 6)
|
tdSql.checkData(0, 6, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -818,8 +885,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -828,8 +895,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 4 then
|
# TSIM: if $data04 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 4)')
|
tdLog.info('tdSql.checkData(0, 4, "4")')
|
||||||
tdSql.checkData(0, 4, 4)
|
tdSql.checkData(0, 4, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 5.000000000 then
|
# TSIM: if $data05 != 5.000000000 then
|
||||||
|
@ -838,13 +905,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 6 then
|
# TSIM: if $data06 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 6)')
|
tdLog.info('tdSql.checkData(0, 6, "6")')
|
||||||
tdSql.checkData(0, 6, 6)
|
tdSql.checkData(0, 6, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
|
|
@ -296,13 +296,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data23 != 1 then
|
# TSIM: if $data23 != 1 then
|
||||||
tdLog.info('tdSql.checkData(2, 3, 1)')
|
tdLog.info('tdSql.checkData(2, 3, "TAG")')
|
||||||
tdSql.checkData(2, 3, 1)
|
tdSql.checkData(2, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data33 != 2.000000 then
|
# TSIM: if $data33 != 2.000000 then
|
||||||
tdLog.info('tdSql.checkData(3, 3, 2.000000)')
|
tdLog.info('tdSql.checkData(3, 3, "TAG")')
|
||||||
tdSql.checkData(3, 3, 2.000000)
|
tdSql.checkData(3, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -395,8 +395,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -552,13 +552,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 5 then
|
# TSIM: if $data03 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 5)')
|
tdLog.info('tdSql.checkData(0, 3, "5")')
|
||||||
tdSql.checkData(0, 3, 5)
|
tdSql.checkData(0, 3, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 6 then
|
# TSIM: if $data04 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 6)')
|
tdLog.info('tdSql.checkData(0, 4, "6")')
|
||||||
tdSql.checkData(0, 4, 6)
|
tdSql.checkData(0, 4, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -583,13 +583,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 5 then
|
# TSIM: if $data03 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 5)')
|
tdLog.info('tdSql.checkData(0, 3, "5")')
|
||||||
tdSql.checkData(0, 3, 5)
|
tdSql.checkData(0, 3, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 6 then
|
# TSIM: if $data04 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 6)')
|
tdLog.info('tdSql.checkData(0, 4, "6")')
|
||||||
tdSql.checkData(0, 4, 6)
|
tdSql.checkData(0, 4, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -653,8 +653,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -778,8 +778,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -835,8 +835,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 5 then
|
# TSIM: if $data03 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 5)')
|
tdLog.info('tdSql.checkData(0, 3, "5")')
|
||||||
tdSql.checkData(0, 3, 5)
|
tdSql.checkData(0, 3, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 1 then
|
# TSIM: if $data04 != 1 then
|
||||||
|
@ -897,13 +897,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1021,29 +1021,29 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 4)')
|
tdLog.info('tdSql.checkData(0, 5, "4")')
|
||||||
tdSql.checkData(0, 5, 4)
|
tdSql.checkData(0, 5, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol4 -x step103
|
# TSIM: sql alter table $mt change tag tgcol1 tgcol4 -x step103
|
||||||
tdLog.info('alter table %s change tag tgcol1 tgcol4 -x step103' % (mt))
|
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: return -1
|
||||||
# TSIM: step103:
|
# TSIM: step103:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1095,13 +1095,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 4 then
|
# TSIM: if $data03 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 4)')
|
tdLog.info('tdSql.checkData(0, 3, "4")')
|
||||||
tdSql.checkData(0, 3, 4)
|
tdSql.checkData(0, 3, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 0 then
|
# TSIM: if $data04 != 0 then
|
||||||
|
@ -1111,18 +1111,22 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != NULL then
|
# TSIM: if $data05 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 5, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step101
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step101
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step101' % (mt))
|
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: return -1
|
||||||
# TSIM: step101:
|
# TSIM: step101:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step102
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step102
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step102' % (mt))
|
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: return -1
|
||||||
# TSIM: step102:
|
# TSIM: step102:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1186,14 +1190,14 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5 then
|
# TSIM: if $data06 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 5)')
|
tdLog.info('tdSql.checkData(0, 6, "5")')
|
||||||
tdSql.checkData(0, 6, 5)
|
tdSql.checkData(0, 6, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt change tag tgcol1 tgcol4 -x step114
|
# TSIM: sql alter table $mt change tag tgcol1 tgcol4 -x step114
|
||||||
tdLog.info('alter table %s change tag tgcol1 tgcol4 -x step114' % (mt))
|
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: return -1
|
||||||
# TSIM: step114:
|
# TSIM: step114:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1271,8 +1275,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 4 then
|
# TSIM: if $data03 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 4)')
|
tdLog.info('tdSql.checkData(0, 3, "4")')
|
||||||
tdSql.checkData(0, 3, 4)
|
tdSql.checkData(0, 3, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 5 then
|
# TSIM: if $data04 != 5 then
|
||||||
|
@ -1281,8 +1285,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 6 then
|
# TSIM: if $data05 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 6)')
|
tdLog.info('tdSql.checkData(0, 5, "6")')
|
||||||
tdSql.checkData(0, 5, 6)
|
tdSql.checkData(0, 5, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 7 then
|
# TSIM: if $data06 != 7 then
|
||||||
|
@ -1298,17 +1302,17 @@ class TDTestCase:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step111
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step111
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step111' % (mt))
|
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: return -1
|
||||||
# TSIM: step111:
|
# TSIM: step111:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step112
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step112
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step112' % (mt))
|
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: return -1
|
||||||
# TSIM: step112:
|
# TSIM: step112:
|
||||||
# TSIM: sql select * from $mt where tgcol9 = 1 -x step113
|
# TSIM: sql select * from $mt where tgcol9 = 1 -x step113
|
||||||
tdLog.info('select * from %s where tgcol9 = 1 -x step113' % (mt))
|
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: return -1
|
||||||
# TSIM: step113:
|
# TSIM: step113:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1373,13 +1377,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5 then
|
# TSIM: if $data06 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 5)')
|
tdLog.info('tdSql.checkData(0, 6, "5")')
|
||||||
tdSql.checkData(0, 6, 5)
|
tdSql.checkData(0, 6, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 6 then
|
# TSIM: if $data07 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 7, 6)')
|
tdLog.info('tdSql.checkData(0, 7, "6")')
|
||||||
tdSql.checkData(0, 7, 6)
|
tdSql.checkData(0, 7, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1457,13 +1461,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 1 then
|
# TSIM: if $data03 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 1)')
|
tdLog.info('tdSql.checkData(0, 3, "1")')
|
||||||
tdSql.checkData(0, 3, 1)
|
tdSql.checkData(0, 3, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 5 then
|
# TSIM: if $data04 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 5)')
|
tdLog.info('tdSql.checkData(0, 4, "5")')
|
||||||
tdSql.checkData(0, 4, 5)
|
tdSql.checkData(0, 4, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
|
@ -1472,8 +1476,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 3 then
|
# TSIM: if $data06 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 3)')
|
tdLog.info('tdSql.checkData(0, 6, "3")')
|
||||||
tdSql.checkData(0, 6, 3)
|
tdSql.checkData(0, 6, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 2 then
|
# TSIM: if $data07 != 2 then
|
||||||
|
@ -1559,8 +1563,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -1574,8 +1578,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 4)')
|
tdLog.info('tdSql.checkData(0, 5, "4")')
|
||||||
tdSql.checkData(0, 5, 4)
|
tdSql.checkData(0, 5, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5.000000000 then
|
# TSIM: if $data06 != 5.000000000 then
|
||||||
|
@ -1584,8 +1588,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 6 then
|
# TSIM: if $data07 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 7, 6)')
|
tdLog.info('tdSql.checkData(0, 7, "6")')
|
||||||
tdSql.checkData(0, 7, 6)
|
tdSql.checkData(0, 7, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1652,8 +1656,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 9 then
|
# TSIM: if $data03 != 9 then
|
||||||
|
@ -1667,8 +1671,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 8 then
|
# TSIM: if $data05 != 8 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 8)')
|
tdLog.info('tdSql.checkData(0, 5, "8")')
|
||||||
tdSql.checkData(0, 5, 8)
|
tdSql.checkData(0, 5, "8")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 10 then
|
# TSIM: if $data06 != 10 then
|
||||||
|
@ -1867,13 +1871,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 5 then
|
# TSIM: if $data03 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 5)')
|
tdLog.info('tdSql.checkData(0, 3, "5")')
|
||||||
tdSql.checkData(0, 3, 5)
|
tdSql.checkData(0, 3, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 6 then
|
# TSIM: if $data04 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 6)')
|
tdLog.info('tdSql.checkData(0, 4, "6")')
|
||||||
tdSql.checkData(0, 4, 6)
|
tdSql.checkData(0, 4, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1898,13 +1902,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 5 then
|
# TSIM: if $data03 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 5)')
|
tdLog.info(': tdSql.checkData(0, 3, "5")')
|
||||||
tdSql.checkData(0, 3, 5)
|
tdSql.checkData(0, 3, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 6 then
|
# TSIM: if $data04 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 6)')
|
tdLog.info('tdSql.checkData(0, 4, "6")')
|
||||||
tdSql.checkData(0, 4, 6)
|
tdSql.checkData(0, 4, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1988,8 +1992,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 5 then
|
# TSIM: if $data03 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 5)')
|
tdLog.info('tdSql.checkData(0, 3, "5")')
|
||||||
tdSql.checkData(0, 3, 5)
|
tdSql.checkData(0, 3, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 1 then
|
# TSIM: if $data04 != 1 then
|
||||||
|
@ -2065,13 +2069,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 4 then
|
# TSIM: if $data03 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 4)')
|
tdLog.info('tdSql.checkData(0, 3, "4")')
|
||||||
tdSql.checkData(0, 3, 4)
|
tdSql.checkData(0, 3, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 0 then
|
# TSIM: if $data04 != 0 then
|
||||||
|
@ -2081,7 +2085,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != NULL then
|
# TSIM: if $data05 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 5, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -2115,8 +2123,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 4 then
|
# TSIM: if $data03 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 4)')
|
tdLog.info('tdSql.checkData(0, 3, "4")')
|
||||||
tdSql.checkData(0, 3, 4)
|
tdSql.checkData(0, 3, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 5 then
|
# TSIM: if $data04 != 5 then
|
||||||
|
@ -2125,8 +2133,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 6 then
|
# TSIM: if $data05 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 6)')
|
tdLog.info('tdSql.checkData(0, 5, "6")')
|
||||||
tdSql.checkData(0, 5, 6)
|
tdSql.checkData(0, 5, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 7 then
|
# TSIM: if $data06 != 7 then
|
||||||
|
@ -2171,13 +2179,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 1 then
|
# TSIM: if $data03 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 1)')
|
tdLog.info('tdSql.checkData(0, 3, "1")')
|
||||||
tdSql.checkData(0, 3, 1)
|
tdSql.checkData(0, 3, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 5 then
|
# TSIM: if $data04 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 5)')
|
tdLog.info('tdSql.checkData(0, 4, "5")')
|
||||||
tdSql.checkData(0, 4, 5)
|
tdSql.checkData(0, 4, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
|
@ -2186,8 +2194,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 3 then
|
# TSIM: if $data06 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 3)')
|
tdLog.info('tdSql.checkData(0, 6, "3")')
|
||||||
tdSql.checkData(0, 6, 3)
|
tdSql.checkData(0, 6, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 2 then
|
# TSIM: if $data07 != 2 then
|
||||||
|
@ -2257,8 +2265,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 9 then
|
# TSIM: if $data03 != 9 then
|
||||||
|
@ -2272,8 +2280,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 8 then
|
# TSIM: if $data05 != 8 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 8)')
|
tdLog.info('tdSql.checkData(0, 5, "8")')
|
||||||
tdSql.checkData(0, 5, 8)
|
tdSql.checkData(0, 5, "8")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 10 then
|
# TSIM: if $data06 != 10 then
|
||||||
|
@ -2290,8 +2298,8 @@ class TDTestCase:
|
||||||
# TSIM: print =============== clear
|
# TSIM: print =============== clear
|
||||||
tdLog.info('=============== clear')
|
tdLog.info('=============== clear')
|
||||||
# TSIM: sql drop database $db
|
# TSIM: sql drop database $db
|
||||||
tdLog.info('sql drop database $db')
|
tdLog.info('drop database db')
|
||||||
tdSql.execute('sql drop database $db')
|
tdSql.execute('drop database db')
|
||||||
# TSIM: sql show databases
|
# TSIM: sql show databases
|
||||||
tdLog.info('show databases')
|
tdLog.info('show databases')
|
||||||
tdSql.query('show databases')
|
tdSql.query('show databases')
|
||||||
|
|
|
@ -208,14 +208,14 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data23 != 1 then
|
# TSIM: if $data23 != 1 then
|
||||||
tdLog.info('tdSql.checkData(2, 3, 1)')
|
tdLog.info('tdSql.checkData(2, 3, "TAG")')
|
||||||
tdSql.checkData(2, 3, 1)
|
tdSql.checkData(2, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt drop tag tgcol1 -x step40
|
# TSIM: sql alter table $mt drop tag tgcol1 -x step40
|
||||||
tdLog.info('alter table %s drop tag tgcol1 -x step40' % (mt))
|
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: return -1
|
||||||
# TSIM: step40:
|
# TSIM: step40:
|
||||||
# TSIM: sql alter table $mt drop tag tgcol2
|
# TSIM: sql alter table $mt drop tag tgcol2
|
||||||
|
@ -263,14 +263,14 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt drop tag tgcol1 -x step50
|
# TSIM: sql alter table $mt drop tag tgcol1 -x step50
|
||||||
tdLog.info('alter table %s drop tag tgcol1 -x step50' % (mt))
|
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: return -1
|
||||||
# TSIM: step50:
|
# TSIM: step50:
|
||||||
# TSIM: sql alter table $mt drop tag tgcol2
|
# TSIM: sql alter table $mt drop tag tgcol2
|
||||||
|
@ -381,8 +381,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -420,18 +420,18 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data23 != 1 then
|
# TSIM: if $data23 != 1 then
|
||||||
tdLog.info('tdSql.checkData(2, 3, 1)')
|
tdLog.info('tdSql.checkData(2, 3, "TAG")')
|
||||||
tdSql.checkData(2, 3, 1)
|
tdSql.checkData(2, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data33 != 2 then
|
# TSIM: if $data33 != 2 then
|
||||||
tdLog.info('tdSql.checkData(3, 3, 2)')
|
tdLog.info('tdSql.checkData(3, 3, "TAG")')
|
||||||
tdSql.checkData(3, 3, 2)
|
tdSql.checkData(3, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data43 != 3 then
|
# TSIM: if $data43 != 3 then
|
||||||
tdLog.info('tdSql.checkData(4, 3, 3)')
|
tdLog.info('tdSql.checkData(4, 3, "TAG")')
|
||||||
tdSql.checkData(4, 3, 3)
|
tdSql.checkData(4, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -488,8 +488,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -543,13 +543,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -600,23 +600,23 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 3 then
|
# TSIM: if $data04 != 3 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 3)')
|
tdLog.info('tdSql.checkData(0, 4, "3")')
|
||||||
tdSql.checkData(0, 4, 3)
|
tdSql.checkData(0, 4, "3")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 4)')
|
tdLog.info('tdSql.checkData(0, 5, "4")')
|
||||||
tdSql.checkData(0, 5, 4)
|
tdSql.checkData(0, 5, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -690,8 +690,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5 then
|
# TSIM: if $data06 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 5)')
|
tdLog.info('tdSql.checkData(0, 6, "5")')
|
||||||
tdSql.checkData(0, 6, 5)
|
tdSql.checkData(0, 6, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -766,13 +766,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5 then
|
# TSIM: if $data06 != 5 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 5)')
|
tdLog.info('tdSql.checkData(0, 6, "5")')
|
||||||
tdSql.checkData(0, 6, 5)
|
tdSql.checkData(0, 6, "5")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 6 then
|
# TSIM: if $data07 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 7, 6)')
|
tdLog.info('tdSql.checkData(0, 7, "6")')
|
||||||
tdSql.checkData(0, 7, 6)
|
tdSql.checkData(0, 7, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -830,8 +830,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -845,8 +845,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 4)')
|
tdLog.info('tdSql.checkData(0, 5, "4")')
|
||||||
tdSql.checkData(0, 5, 4)
|
tdSql.checkData(0, 5, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5.000000000 then
|
# TSIM: if $data06 != 5.000000000 then
|
||||||
|
@ -855,8 +855,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 6 then
|
# TSIM: if $data07 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 7, 6)')
|
tdLog.info('tdSql.checkData(0, 7, "6")')
|
||||||
tdSql.checkData(0, 7, 6)
|
tdSql.checkData(0, 7, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -903,7 +903,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -944,7 +948,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -985,7 +993,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1026,7 +1038,11 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1067,23 +1083,27 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step51
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step51
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step51' % (mt))
|
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: return -1
|
||||||
# TSIM: step51:
|
# TSIM: step51:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step52
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step52
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step52' % (mt))
|
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: return -1
|
||||||
# TSIM: step52:
|
# TSIM: step52:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1118,23 +1138,27 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step71
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step71
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step71' % (mt))
|
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: return -1
|
||||||
# TSIM: step71:
|
# TSIM: step71:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step72
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step72
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step72' % (mt))
|
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: return -1
|
||||||
# TSIM: step72:
|
# TSIM: step72:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1169,23 +1193,27 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step81
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step81
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step81' % (mt))
|
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: return -1
|
||||||
# TSIM: step81:
|
# TSIM: step81:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step82
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step82
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step82' % (mt))
|
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: return -1
|
||||||
# TSIM: step82:
|
# TSIM: step82:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1220,23 +1248,27 @@ class TDTestCase:
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step91
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step91
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step91' % (mt))
|
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: return -1
|
||||||
# TSIM: step91:
|
# TSIM: step91:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step92
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step92
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step92' % (mt))
|
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: return -1
|
||||||
# TSIM: step92:
|
# TSIM: step92:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1265,39 +1297,43 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != NULL then
|
# TSIM: if $data03 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 3, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != NULL then
|
# TSIM: if $data05 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 5, NULL)')
|
tdLog.info('tdSql.checkData(0, 5, NULL) out of range')
|
||||||
tdSql.checkData(0, 5, None)
|
# tdSql.checkData(0, 5, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step101
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step101
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step101' % (mt))
|
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: return -1
|
||||||
# TSIM: step101:
|
# TSIM: step101:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step102
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step102
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step102' % (mt))
|
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: return -1
|
||||||
# TSIM: step102:
|
# TSIM: step102:
|
||||||
# TSIM: sql select * from $mt where tgcol4 = 1 -x step103
|
# TSIM: sql select * from $mt where tgcol4 = 1 -x step103
|
||||||
tdLog.info('select * from %s where tgcol4 = 1 -x step103' % (mt))
|
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: return -1
|
||||||
# TSIM: step103:
|
# TSIM: step103:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1336,34 +1372,34 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != NULL then
|
# TSIM: if $data05 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 5, NULL)')
|
tdLog.info('tdSql.checkData(0, 5, NULL) out of range')
|
||||||
tdSql.checkData(0, 5, None)
|
# tdSql.checkData(0, 5, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != NULL then
|
# TSIM: if $data06 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 6, NULL)')
|
tdLog.info('tdSql.checkData(0, 6, NULL) out of range')
|
||||||
tdSql.checkData(0, 6, None)
|
# tdSql.checkData(0, 6, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step111
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step111
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step111' % (mt))
|
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: return -1
|
||||||
# TSIM: step111:
|
# TSIM: step111:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step112
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step112
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step112' % (mt))
|
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: return -1
|
||||||
# TSIM: step112:
|
# TSIM: step112:
|
||||||
# TSIM: sql select * from $mt where tgcol5 = 1 -x step113
|
# TSIM: sql select * from $mt where tgcol5 = 1 -x step113
|
||||||
tdLog.info('select * from %s where tgcol5 = 1 -x step113' % (mt))
|
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: return -1
|
||||||
# TSIM: step113:
|
# TSIM: step113:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1402,44 +1438,44 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != NULL then
|
# TSIM: if $data04 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 4, NULL)')
|
tdLog.info('tdSql.checkData(0, 4, NULL) out of range')
|
||||||
tdSql.checkData(0, 4, None)
|
# tdSql.checkData(0, 4, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != NULL then
|
# TSIM: if $data05 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 5, NULL)')
|
tdLog.info('tdSql.checkData(0, 5, NULL) out of range')
|
||||||
tdSql.checkData(0, 5, None)
|
# tdSql.checkData(0, 5, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != NULL then
|
# TSIM: if $data06 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 6, NULL)')
|
tdLog.info('tdSql.checkData(0, 6, NULL) out of range')
|
||||||
tdSql.checkData(0, 6, None)
|
# tdSql.checkData(0, 6, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
tdLog.info('tdSql.checkData(0, 7, NULL) out of range')
|
||||||
tdSql.checkData(0, 7, None)
|
# tdSql.checkData(0, 7, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol2 = 1 -x step120
|
# TSIM: sql select * from $mt where tgcol2 = 1 -x step120
|
||||||
tdLog.info('select * from %s where tgcol2 = 1 -x step120' % (mt))
|
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: return -1
|
||||||
# TSIM: step120:
|
# TSIM: step120:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step121
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step121
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step121' % (mt))
|
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: return -1
|
||||||
# TSIM: step121:
|
# TSIM: step121:
|
||||||
# TSIM: sql select * from $mt where tgcol5 = 1 -x step122
|
# TSIM: sql select * from $mt where tgcol5 = 1 -x step122
|
||||||
tdLog.info('select * from %s where tgcol5 = 1 -x step122' % (mt))
|
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: return -1
|
||||||
# TSIM: step122:
|
# TSIM: step122:
|
||||||
# TSIM: sql select * from $mt where tgcol6 = 1 -x step123
|
# TSIM: sql select * from $mt where tgcol6 = 1 -x step123
|
||||||
tdLog.info('select * from %s where tgcol6 = 1 -x step123' % (mt))
|
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: return -1
|
||||||
# TSIM: step123:
|
# TSIM: step123:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1471,8 +1507,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -1486,34 +1522,34 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != NULL then
|
# TSIM: if $data05 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 5, NULL)')
|
tdLog.info('tdSql.checkData(0, 5, NULL) out of range')
|
||||||
tdSql.checkData(0, 5, None)
|
# tdSql.checkData(0, 5, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != NULL then
|
# TSIM: if $data06 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 6, NULL)')
|
tdLog.info('tdSql.checkData(0, 6, NULL) out of range')
|
||||||
tdSql.checkData(0, 6, None)
|
# tdSql.checkData(0, 6, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
tdLog.info('tdSql.checkData(0, 7, NULL) out of range')
|
||||||
tdSql.checkData(0, 7, None)
|
# tdSql.checkData(0, 7, None)
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql select * from $mt where tgcol3 = 1 -x step130
|
# TSIM: sql select * from $mt where tgcol3 = 1 -x step130
|
||||||
tdLog.info('select * from %s where tgcol3 = 1 -x step130' % (mt))
|
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: return -1
|
||||||
# TSIM: step130:
|
# TSIM: step130:
|
||||||
# TSIM: sql select * from $mt where tgcol4 = 1 -x step131
|
# TSIM: sql select * from $mt where tgcol4 = 1 -x step131
|
||||||
tdLog.info('select * from %s where tgcol4 = 1 -x step131' % (mt))
|
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: return -1
|
||||||
# TSIM: step131:
|
# TSIM: step131:
|
||||||
# TSIM: sql select * from $mt where tgcol6 = 1 -x step133
|
# TSIM: sql select * from $mt where tgcol6 = 1 -x step133
|
||||||
tdLog.info('select * from %s where tgcol6 = 1 -x step133' % (mt))
|
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: return -1
|
||||||
# TSIM: step133:
|
# TSIM: step133:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1542,23 +1578,23 @@ class TDTestCase:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table xxmt drop tag tag1 -x step141
|
# TSIM: sql alter table xxmt drop tag tag1 -x step141
|
||||||
tdLog.info('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: return -1
|
||||||
# TSIM: step141:
|
# TSIM: step141:
|
||||||
# TSIM: sql alter table $tb drop tag tag1 -x step142
|
# TSIM: sql alter table $tb drop tag tag1 -x step142
|
||||||
tdLog.info('alter table %s drop tag tag1 -x step142' % (tb))
|
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: return -1
|
||||||
# TSIM: step142:
|
# TSIM: step142:
|
||||||
# TSIM: sql alter table $mt drop tag tag1 -x step143
|
# TSIM: sql alter table $mt drop tag tag1 -x step143
|
||||||
tdLog.info('alter table %s drop tag tag1 -x step143' % (mt))
|
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: return -1
|
||||||
# TSIM: step143:
|
# TSIM: step143:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: sql alter table $mt drop tag tagcol1 -x step144
|
# TSIM: sql alter table $mt drop tag tagcol1 -x step144
|
||||||
tdLog.info('alter table %s drop tag tagcol1 -x step144' % (mt))
|
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: return -1
|
||||||
# TSIM: step144:
|
# TSIM: step144:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -1567,15 +1603,15 @@ class TDTestCase:
|
||||||
tdSql.execute('alter table %s drop tag tgcol2' % (mt))
|
tdSql.execute('alter table %s drop tag tgcol2' % (mt))
|
||||||
# TSIM: sql alter table $mt drop tag tgcol1 -x step145
|
# TSIM: sql alter table $mt drop tag tgcol1 -x step145
|
||||||
tdLog.info('alter table %s drop tag tgcol1 -x step145' % (mt))
|
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: return -1
|
||||||
# TSIM: step145:
|
# TSIM: step145:
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: print =============== clear
|
# TSIM: print =============== clear
|
||||||
tdLog.info('=============== clear')
|
tdLog.info('=============== clear')
|
||||||
# TSIM: sql drop database $db
|
# TSIM: sql drop database $db
|
||||||
tdLog.info('sql drop database $db')
|
tdLog.info('drop database db')
|
||||||
tdSql.execute('sql drop database $db')
|
tdSql.execute('drop database db')
|
||||||
# TSIM: sql show databases
|
# TSIM: sql show databases
|
||||||
tdLog.info('show databases')
|
tdLog.info('show databases')
|
||||||
tdSql.query('show databases')
|
tdSql.query('show databases')
|
||||||
|
|
|
@ -178,13 +178,13 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data23 != false then
|
# TSIM: if $data23 != false then
|
||||||
tdLog.info('tdSql.checkData(2, 3, false)')
|
tdLog.info('tdSql.checkData(2, 3, "TAG")')
|
||||||
tdSql.checkData(2, 3, false)
|
tdSql.checkData(2, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data33 != 4 then
|
# TSIM: if $data33 != 4 then
|
||||||
tdLog.info('tdSql.checkData(3, 3, 4)')
|
tdLog.info('tdSql.checkData(3, 3, "TAG")')
|
||||||
tdSql.checkData(3, 3, 4)
|
tdSql.checkData(3, 3, "TAG")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -458,8 +458,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 2)')
|
tdLog.info('tdSql.checkData(0, 3, "2")')
|
||||||
tdSql.checkData(0, 3, 2)
|
tdSql.checkData(0, 3, "2")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -495,8 +495,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 4 then
|
# TSIM: if $data03 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 4)')
|
tdLog.info('tdSql.checkData(0, 3, "4")')
|
||||||
tdSql.checkData(0, 3, 4)
|
tdSql.checkData(0, 3, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -521,8 +521,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 4 then
|
# TSIM: if $data03 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 3, 4)')
|
tdLog.info('tdSql.checkData(0, 3, "4")')
|
||||||
tdSql.checkData(0, 3, 4)
|
tdSql.checkData(0, 3, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -567,8 +567,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 1 then
|
# TSIM: if $data02 != 1 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 1)')
|
tdLog.info('tdSql.checkData(0, 2, "1")')
|
||||||
tdSql.checkData(0, 2, 1)
|
tdSql.checkData(0, 2, "1")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 2 then
|
# TSIM: if $data03 != 2 then
|
||||||
|
@ -582,8 +582,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 4 then
|
# TSIM: if $data05 != 4 then
|
||||||
tdLog.info('tdSql.checkData(0, 5, 4)')
|
tdLog.info('tdSql.checkData(0, 5, "4")')
|
||||||
tdSql.checkData(0, 5, 4)
|
tdSql.checkData(0, 5, "4")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 5.000000000 then
|
# TSIM: if $data06 != 5.000000000 then
|
||||||
|
@ -592,8 +592,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != 6 then
|
# TSIM: if $data07 != 6 then
|
||||||
tdLog.info('tdSql.checkData(0, 7, 6)')
|
tdLog.info('tdSql.checkData(0, 7, "6")')
|
||||||
tdSql.checkData(0, 7, 6)
|
tdSql.checkData(0, 7, "6")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -636,8 +636,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 8 then
|
# TSIM: if $data03 != 8 then
|
||||||
|
@ -646,8 +646,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 9 then
|
# TSIM: if $data04 != 9 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 9)')
|
tdLog.info('tdSql.checkData(0, 4, "9")')
|
||||||
tdSql.checkData(0, 4, 9)
|
tdSql.checkData(0, 4, "9")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 10.000000000 then
|
# TSIM: if $data05 != 10.000000000 then
|
||||||
|
@ -656,13 +656,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 11 then
|
# TSIM: if $data06 != 11 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 11)')
|
tdLog.info('tdSql.checkData(0, 6, "11")')
|
||||||
tdSql.checkData(0, 6, 11)
|
tdSql.checkData(0, 6, "11")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -682,8 +686,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 8 then
|
# TSIM: if $data03 != 8 then
|
||||||
|
@ -692,8 +696,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 9 then
|
# TSIM: if $data04 != 9 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 9)')
|
tdLog.info('tdSql.checkData(0, 4, "9")')
|
||||||
tdSql.checkData(0, 4, 9)
|
tdSql.checkData(0, 4, "9")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 10.000000000 then
|
# TSIM: if $data05 != 10.000000000 then
|
||||||
|
@ -702,13 +706,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 11 then
|
# TSIM: if $data06 != 11 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 11)')
|
tdLog.info('tdSql.checkData(0, 6, "11")')
|
||||||
tdSql.checkData(0, 6, 11)
|
tdSql.checkData(0, 6, "11")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -728,8 +736,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 8 then
|
# TSIM: if $data03 != 8 then
|
||||||
|
@ -738,8 +746,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 9 then
|
# TSIM: if $data04 != 9 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 9)')
|
tdLog.info('tdSql.checkData(0, 4, "9")')
|
||||||
tdSql.checkData(0, 4, 9)
|
tdSql.checkData(0, 4, "9")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 10.000000000 then
|
# TSIM: if $data05 != 10.000000000 then
|
||||||
|
@ -748,13 +756,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 11 then
|
# TSIM: if $data06 != 11 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 11)')
|
tdLog.info('tdSql.checkData(0, 6, "11")')
|
||||||
tdSql.checkData(0, 6, 11)
|
tdSql.checkData(0, 6, "11")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -774,8 +786,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 8 then
|
# TSIM: if $data03 != 8 then
|
||||||
|
@ -784,8 +796,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 9 then
|
# TSIM: if $data04 != 9 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 9)')
|
tdLog.info('tdSql.checkData(0, 4, "9")')
|
||||||
tdSql.checkData(0, 4, 9)
|
tdSql.checkData(0, 4, "9")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 10.000000000 then
|
# TSIM: if $data05 != 10.000000000 then
|
||||||
|
@ -794,13 +806,17 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 11 then
|
# TSIM: if $data06 != 11 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 11)')
|
tdLog.info('tdSql.checkData(0, 6, "11")')
|
||||||
tdSql.checkData(0, 6, 11)
|
tdSql.checkData(0, 6, "11")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
|
@ -820,8 +836,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data02 != 7 then
|
# TSIM: if $data02 != 7 then
|
||||||
tdLog.info('tdSql.checkData(0, 2, 7)')
|
tdLog.info('tdSql.checkData(0, 2, "7")')
|
||||||
tdSql.checkData(0, 2, 7)
|
tdSql.checkData(0, 2, "7")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data03 != 8 then
|
# TSIM: if $data03 != 8 then
|
||||||
|
@ -830,8 +846,8 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data04 != 9 then
|
# TSIM: if $data04 != 9 then
|
||||||
tdLog.info('tdSql.checkData(0, 4, 9)')
|
tdLog.info('tdSql.checkData(0, 4, "9")')
|
||||||
tdSql.checkData(0, 4, 9)
|
tdSql.checkData(0, 4, "9")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data05 != 10.000000000 then
|
# TSIM: if $data05 != 10.000000000 then
|
||||||
|
@ -840,21 +856,25 @@ class TDTestCase:
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data06 != 11 then
|
# TSIM: if $data06 != 11 then
|
||||||
tdLog.info('tdSql.checkData(0, 6, 11)')
|
tdLog.info('tdSql.checkData(0, 6, "11")')
|
||||||
tdSql.checkData(0, 6, 11)
|
tdSql.checkData(0, 6, "11")
|
||||||
# TSIM: return -1
|
# TSIM: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM: if $data07 != NULL then
|
# TSIM: if $data07 != NULL then
|
||||||
tdLog.info('tdSql.checkData(0, 7, NULL)')
|
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: return -1
|
||||||
# TSIM: endi
|
# TSIM: endi
|
||||||
# TSIM:
|
# TSIM:
|
||||||
# TSIM: print =============== clear
|
# TSIM: print =============== clear
|
||||||
tdLog.info('=============== clear')
|
tdLog.info('=============== clear')
|
||||||
# TSIM: sql drop database $db
|
# TSIM: sql drop database $db
|
||||||
tdLog.info('sql drop database $db')
|
tdLog.info('drop database db')
|
||||||
tdSql.execute('sql drop database $db')
|
tdSql.execute('drop database db')
|
||||||
# TSIM: sql show databases
|
# TSIM: sql show databases
|
||||||
tdLog.info('show databases')
|
tdLog.info('show databases')
|
||||||
tdSql.query('show databases')
|
tdSql.query('show databases')
|
||||||
|
|
|
@ -205,31 +205,37 @@ class TDSql:
|
||||||
if col < 0:
|
if col < 0:
|
||||||
tdLog.exit(
|
tdLog.exit(
|
||||||
"%s failed: sql:%s, col:%d is smaller than zero" %
|
"%s failed: sql:%s, col:%d is smaller than zero" %
|
||||||
(callerFilename, self.sql, col))
|
(callerFilename, self.sql, col))
|
||||||
if col > self.queryCols:
|
if col > self.queryCols:
|
||||||
tdLog.exit(
|
tdLog.exit(
|
||||||
"%s failed: sql:%s, col:%d is larger than queryCols:%d" %
|
"%s failed: sql:%s, col:%d is larger than queryCols:%d" %
|
||||||
(callerFilename, self.sql, col, self.queryCols))
|
(callerFilename, self.sql, col, self.queryCols))
|
||||||
|
|
||||||
matrix = np.array(self.queryResult)
|
|
||||||
list = matrix[:, 0]
|
|
||||||
|
|
||||||
if order == "" or order.upper() == "ASC":
|
matrix = np.array(self.queryResult)
|
||||||
if all(sorted(list) == list):
|
list = matrix[:, 0]
|
||||||
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))
|
(self.sql, col))
|
||||||
else:
|
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))
|
(callerFilename, self.sql, col))
|
||||||
elif order.upper() == "DESC":
|
elif order.upper() == "DESC":
|
||||||
if all(sorted(list, reverse=True) == list):
|
if all(sorted(list, reverse=True) == list):
|
||||||
tdLog.info("sql:%s, column :%d is sorted in decending order as expected" %
|
tdLog.info(
|
||||||
|
"sql:%s, column :%d is sorted in decending order as expected" %
|
||||||
(self.sql, col))
|
(self.sql, col))
|
||||||
else:
|
else:
|
||||||
tdLog.exit("%s failed: sql:%s, col:%d is not sorted in decending order" %
|
tdLog.exit(
|
||||||
(callerFilename, self.sql, col))
|
"%s failed: sql:%s, col:%d is not sorted in decending order" %
|
||||||
|
(callerFilename, self.sql, col))
|
||||||
else:
|
else:
|
||||||
tdLog.exit("%s failed: sql:%s, the order provided for col:%d is not correct" %
|
tdLog.exit(
|
||||||
(callerFilename, self.sql, col))
|
"%s failed: sql:%s, the order provided for col:%d is not correct" %
|
||||||
|
(callerFilename, self.sql, col))
|
||||||
|
|
||||||
|
|
||||||
tdSql = TDSql()
|
tdSql = TDSql()
|
||||||
|
|
|
@ -51,19 +51,20 @@ sql drop table strm
|
||||||
## [TBASE304]
|
## [TBASE304]
|
||||||
print ====== TBASE-304
|
print ====== TBASE-304
|
||||||
sleep 10000
|
sleep 10000
|
||||||
print create mt
|
# we cannot reset query cache in server side, as a workaround,
|
||||||
sql create table mt (ts timestamp, c1 int) tags(t1 int, t2 int)
|
# 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
|
print create tb1
|
||||||
sql create table tb1 using mt tags(1, 1)
|
sql create table tb1 using mt304 tags(1, 1)
|
||||||
print create tb2
|
print create tb2
|
||||||
sql create table tb2 using mt tags(1, -1)
|
sql create table tb2 using mt304 tags(1, -1)
|
||||||
print create strm
|
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 tb1 values (now,1)
|
||||||
sql insert into tb2 values (now,2)
|
sql insert into tb2 values (now,2)
|
||||||
sleep 20000
|
sleep 100000
|
||||||
sql select * from strm;
|
sql select * from strm;
|
||||||
sleep 1000
|
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
print ==== expect rows = 2, actually returned rows = $rows
|
print ==== expect rows = 2, actually returned rows = $rows
|
||||||
return -1
|
return -1
|
||||||
|
@ -75,11 +76,11 @@ print data02 = $data02
|
||||||
if $data02 != 1.000000000 then
|
if $data02 != 1.000000000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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 tb2 values (now,2);
|
||||||
sql insert into tb1 values (now,1);
|
sql insert into tb1 values (now,1);
|
||||||
sql select * from strm;
|
sql select * from strm;
|
||||||
sql alter table mt add tag t2 int;
|
sql alter table mt304 add tag t2 int;
|
||||||
sleep 10000
|
sleep 10000
|
||||||
sql select * from strm
|
sql select * from strm
|
||||||
|
|
||||||
|
@ -98,7 +99,7 @@ sleep 4000
|
||||||
sql insert into tb2 values (now, 2, 'tb2')
|
sql insert into tb2 values (now, 2, 'tb2')
|
||||||
sleep 4000
|
sleep 4000
|
||||||
sql insert into tb3 values (now, 0, 'tb3')
|
sql insert into tb3 values (now, 0, 'tb3')
|
||||||
sleep 6000
|
sleep 60000
|
||||||
|
|
||||||
sql describe strm
|
sql describe strm
|
||||||
if $rows == 0 then
|
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
|
## 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
|
## commented out the case below to save running time
|
||||||
sql create table tb4 using stb tags('a4')
|
sql create table tb4 using stb tags('a4')
|
||||||
sleep 6000
|
|
||||||
sql insert into tb4 values(now, 4, 'tb4')
|
sql insert into tb4 values(now, 4, 'tb4')
|
||||||
sleep 10000
|
sleep 60000
|
||||||
sql select * from strm order by ts desc
|
sql select * from strm order by ts desc
|
||||||
sleep 1000
|
|
||||||
print ======== data0: $data00 $data01 $data02 $data03
|
print ======== data0: $data00 $data01 $data02 $data03
|
||||||
#print ======== data1: $data10 $data11 $data12 $data13
|
#print ======== data1: $data10 $data11 $data12 $data13
|
||||||
#print ======== data2: $data20 $data21 $data22 $data23
|
#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')
|
sql insert into tb1 values (now, 1, 'tb1_a1')
|
||||||
sleep 4000
|
sleep 4000
|
||||||
sql insert into tb4 values (now, -4, 'tb4_b4')
|
sql insert into tb4 values (now, -4, 'tb4_b4')
|
||||||
sleep 10000
|
sleep 100000
|
||||||
sql select * from strm order by ts desc
|
sql select * from strm order by ts desc
|
||||||
sleep 1000
|
sleep 1000
|
||||||
print ======== data0: $data00 $data01 $data02 $data03
|
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 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)
|
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)
|
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
|
sql select * from strm0 order by ts desc
|
||||||
sleep 1000
|
sleep 1000
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
|
@ -202,7 +201,7 @@ if $rows != 2 then
|
||||||
endi
|
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)
|
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
|
sql select * from strm0 order by ts desc
|
||||||
sleep 1000
|
sleep 1000
|
||||||
if $rows != 4 then
|
if $rows != 4 then
|
||||||
|
@ -210,15 +209,4 @@ if $rows != 4 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
|
@ -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
|
|
@ -1,11 +1,11 @@
|
||||||
# Test case describe: dnode1 is only mnode, dnode2/dnode3 are only vnode
|
# Test case describe: dnode1 is only mnode, dnode2/dnode3 are only vnode
|
||||||
# step 1: start dnode1
|
# step 1: start dnode1
|
||||||
# step 2: start dnode2 and dnode3, and all added into cluster (Suppose dnode2 is master-vnode)
|
# 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 2: 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 3: 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 4: 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 5: insert two data rows: now-21d, now-41d
|
||||||
# step 7: restart dnode2, waiting sync end
|
# step 6: restart dnode2, waiting sync end
|
||||||
# expect: in dnode2, the files 1837 and 1839 will be removed
|
# expect: in dnode2, the files 1837 and 1839 will be removed
|
||||||
|
|
||||||
system sh/stop_dnodes.sh
|
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 )
|
sql insert into $tb values ( now - 40d , -40 )
|
||||||
$totalRows = $totalRows + 2
|
$totalRows = $totalRows + 2
|
||||||
|
|
||||||
print ============== step4: stop dnode2, so date rows falling disc, generate two new files in dnode2
|
print ============== step4: stop dnode3, so date rows falling disc, generate two new files in dnode3
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
|
|
||||||
wait_dnode2_offline:
|
wait_dnode3_offline:
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
if $rows != 3 then
|
if $rows != 3 then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
goto wait_dnode2_offline
|
goto wait_dnode3_offline
|
||||||
endi
|
endi
|
||||||
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
|
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
|
||||||
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
|
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
|
||||||
|
@ -135,13 +135,13 @@ $dnode3Status = $data4_3
|
||||||
#$dnode4Status = $data4_4
|
#$dnode4Status = $data4_4
|
||||||
#$dnode5Status = $data4_5
|
#$dnode5Status = $data4_5
|
||||||
|
|
||||||
if $dnode2Status != offline then
|
if $dnode3Status != offline then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
goto wait_dnode2_offline
|
goto wait_dnode3_offline
|
||||||
endi
|
endi
|
||||||
if $dnode3Status != ready then
|
if $dnode2Status != ready then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
goto wait_dnode2_offline
|
goto wait_dnode3_offline
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sleep $sleepTimer # waitting for move master vnode of dnode2 to dnode3
|
sleep $sleepTimer # waitting for move master vnode of dnode2 to dnode3
|
||||||
|
@ -152,6 +152,12 @@ if $data00 != $totalRows then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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,
|
print ============== step5: insert two data rows: now-16d, now+16d,
|
||||||
sql insert into $tb values ( now - 21d , -21 )
|
sql insert into $tb values ( now - 21d , -21 )
|
||||||
sql insert into $tb values ( now - 41d , -41 )
|
sql insert into $tb values ( now - 41d , -41 )
|
||||||
|
@ -163,4 +169,47 @@ if $data00 != $totalRows then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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
|
|
@ -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 dnode4 -i 4
|
||||||
system sh/deploy.sh -n dnode5 -i 5
|
system sh/deploy.sh -n dnode5 -i 5
|
||||||
|
|
||||||
system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1
|
system sh/cfg.sh -n dnode1 -c numOfMnodes -v 1
|
||||||
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1
|
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 1
|
||||||
system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1
|
system sh/cfg.sh -n dnode3 -c numOfMnodes -v 1
|
||||||
system sh/cfg.sh -n dnode4 -c numOfMPeers -v 1
|
system sh/cfg.sh -n dnode4 -c numOfMnodes -v 1
|
||||||
system sh/cfg.sh -n dnode5 -c numOfMPeers -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 dnode1 -c walLevel -v 1
|
||||||
system sh/cfg.sh -n dnode2 -c walLevel -v 1
|
system sh/cfg.sh -n dnode2 -c walLevel -v 1
|
||||||
|
|
|
@ -96,7 +96,12 @@ endi
|
||||||
print ============== step3: stop dnode4, and remove its vnodeX subdirector
|
print ============== step3: stop dnode4, and remove its vnodeX subdirector
|
||||||
system sh/exec.sh -n dnode4 -s stop -x SIGINT
|
system sh/exec.sh -n dnode4 -s stop -x SIGINT
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
|
$loopCnt = 0
|
||||||
wait_dnode4_offline_0:
|
wait_dnode4_offline_0:
|
||||||
|
$loopCnt = $loopCnt + 1
|
||||||
|
if $loopCnt == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
if $rows != 4 then
|
if $rows != 4 then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
|
@ -148,7 +153,14 @@ sleep 1000
|
||||||
print ============== step4: restart dnode4, waiting sync end
|
print ============== step4: restart dnode4, waiting sync end
|
||||||
system sh/exec.sh -n dnode4 -s start
|
system sh/exec.sh -n dnode4 -s start
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
|
|
||||||
|
$loopCnt = 0
|
||||||
wait_dnode4_reready:
|
wait_dnode4_reready:
|
||||||
|
$loopCnt = $loopCnt + 1
|
||||||
|
if $loopCnt == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
if $rows != 4 then
|
if $rows != 4 then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
|
@ -171,7 +183,13 @@ if $dnode4Status != ready then
|
||||||
goto wait_dnode4_reready
|
goto wait_dnode4_reready
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
$loopCnt = 0
|
||||||
wait_dnode4_vgroup_slave:
|
wait_dnode4_vgroup_slave:
|
||||||
|
$loopCnt = $loopCnt + 1
|
||||||
|
if $loopCnt == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
sql show vgroups
|
sql show vgroups
|
||||||
if $rows != 1 then
|
if $rows != 1 then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
|
@ -200,7 +218,13 @@ system sh/exec.sh -n dnode2 -s stop
|
||||||
system sh/exec.sh -n dnode3 -s stop
|
system sh/exec.sh -n dnode3 -s stop
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
|
|
||||||
|
|
||||||
|
$loopCnt = 0
|
||||||
wait_dnode23_offline:
|
wait_dnode23_offline:
|
||||||
|
$loopCnt = $loopCnt + 1
|
||||||
|
if $loopCnt == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
if $rows != 4 then
|
if $rows != 4 then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
|
@ -231,7 +255,13 @@ if $dnode4Status != ready then
|
||||||
goto wait_dnode23_offline
|
goto wait_dnode23_offline
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
$loopCnt = 0
|
||||||
wait_dnode4_vgroup_master:
|
wait_dnode4_vgroup_master:
|
||||||
|
$loopCnt = $loopCnt + 1
|
||||||
|
if $loopCnt == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
sql show vgroups
|
sql show vgroups
|
||||||
if $rows != 1 then
|
if $rows != 1 then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
|
|
|
@ -93,7 +93,7 @@ if $data00 != $totalRows then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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
|
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
wait_dnode3_offline_0:
|
wait_dnode3_offline_0:
|
||||||
|
@ -141,13 +141,26 @@ if $dnode2Vtatus != master then
|
||||||
goto wait_dnode3_vgroup_offline
|
goto wait_dnode3_vgroup_offline
|
||||||
endi
|
endi
|
||||||
|
|
||||||
# del the second row
|
#system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l | grep "^-" | wc -l | sed 's/^[ \t]*//g'
|
||||||
system sed '2d' ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/v1849.data
|
#system_content ls ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/ -l | grep "^-" | wc -l | sed 's/[ \t]*$//g'
|
||||||
sleep 1000
|
#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
|
print ============== step4: restart dnode3, and run query
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec.sh -n dnode3 -s start
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
|
|
||||||
wait_dnode3_reready:
|
wait_dnode3_reready:
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
if $rows != 3 then
|
if $rows != 3 then
|
||||||
|
@ -171,13 +184,50 @@ if $dnode3Status != ready then
|
||||||
goto wait_dnode3_reready
|
goto wait_dnode3_reready
|
||||||
endi
|
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
|
sql select count(*) from $stb
|
||||||
print data00 $data00
|
print data00 $data00
|
||||||
if $data00 != $totalRows then
|
if $data00 != $totalRows then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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
|
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
wait_dnode2_offline_0:
|
wait_dnode2_offline_0:
|
||||||
|
@ -224,3 +274,106 @@ if $dnode3Vtatus != master then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
goto wait_dnode3_vgroup_master
|
goto wait_dnode3_vgroup_master
|
||||||
endi
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -105,7 +105,7 @@ if $data00 != $totalRows then
|
||||||
return -1
|
return -1
|
||||||
endi
|
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
|
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep $sleepTimer
|
sleep $sleepTimer
|
||||||
wait_dnode2_offline_0:
|
wait_dnode2_offline_0:
|
||||||
|
@ -152,3 +152,9 @@ if $dnode3Vtatus != master then
|
||||||
sleep 2000
|
sleep 2000
|
||||||
goto wait_dnode3_vgroup_master
|
goto wait_dnode3_vgroup_master
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
sql select count(*) from $stb
|
||||||
|
print data00 $data00
|
||||||
|
if $data00 != $totalRows then
|
||||||
|
return -1
|
||||||
|
endi
|
Loading…
Reference in New Issue