chore: more code
This commit is contained in:
parent
b26842e398
commit
2d4dd64584
|
@ -30,7 +30,7 @@ extern "C" {
|
|||
|
||||
#define SHOW_CREATE_DB_RESULT_COLS 2
|
||||
#define SHOW_CREATE_DB_RESULT_FIELD1_LEN (TSDB_DB_NAME_LEN + VARSTR_HEADER_SIZE)
|
||||
#define SHOW_CREATE_DB_RESULT_FIELD2_LEN (TSDB_MAX_BINARY_LEN)
|
||||
#define SHOW_CREATE_DB_RESULT_FIELD2_LEN (TSDB_MAX_BINARY_LEN + VARSTR_HEADER_SIZE)
|
||||
|
||||
#define SHOW_CREATE_TB_RESULT_COLS 2
|
||||
#define SHOW_CREATE_TB_RESULT_FIELD1_LEN (TSDB_TABLE_NAME_LEN + VARSTR_HEADER_SIZE)
|
||||
|
|
|
@ -22,6 +22,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#if 1
|
||||
#define TASSERT assert(0);
|
||||
#else
|
||||
#define TASSERT
|
||||
#endif
|
||||
|
||||
#define TSDB__packed
|
||||
|
||||
#define TSKEY int64_t
|
||||
|
|
|
@ -565,8 +565,8 @@ static int32_t smlFindNearestPowerOf2(int32_t length, uint8_t type) {
|
|||
}
|
||||
if (type == TSDB_DATA_TYPE_BINARY && result > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) {
|
||||
result = TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE;
|
||||
} else if (type == TSDB_DATA_TYPE_NCHAR && result > (TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE) {
|
||||
result = (TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE;
|
||||
} else if (type == TSDB_DATA_TYPE_NCHAR && result > (TSDB_MAX_NCHAR_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE) {
|
||||
result = (TSDB_MAX_NCHAR_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE;
|
||||
}
|
||||
|
||||
if (type == TSDB_DATA_TYPE_NCHAR) {
|
||||
|
@ -637,6 +637,9 @@ static int32_t smlBuildFieldsList(SSmlHandle *info, SSchema *schemaField, SHashO
|
|||
field.bytes = getBytes(kv->type, kv->length);
|
||||
memcpy(field.name, kv->key, kv->keyLen);
|
||||
taosArrayPush(results, &field);
|
||||
if(numOfCols == 0) {
|
||||
|
||||
}
|
||||
} else if (action == SCHEMA_ACTION_CHANGE_COLUMN_SIZE || action == SCHEMA_ACTION_CHANGE_TAG_SIZE) {
|
||||
uint16_t *index = (uint16_t *)taosHashGet(schemaHash, kv->key, kv->keyLen);
|
||||
if (index == NULL) {
|
||||
|
|
|
@ -578,10 +578,12 @@ static int32_t smlConvertJSONString(SSmlKv *pVal, char *typeStr, cJSON *value) {
|
|||
pVal->length = (uint16_t)strlen(value->valuestring);
|
||||
|
||||
if (pVal->type == TSDB_DATA_TYPE_BINARY && pVal->length > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
if (pVal->type == TSDB_DATA_TYPE_NCHAR &&
|
||||
pVal->length > (TSDB_MAX_NCHAR_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
|
||||
|
|
|
@ -81,6 +81,7 @@ int32_t smlParseValue(SSmlKv *pVal, SSmlMsgBuf *msg) {
|
|||
pVal->type = TSDB_DATA_TYPE_BINARY;
|
||||
pVal->length -= BINARY_ADD_LEN;
|
||||
if (pVal->length > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
pVal->value += (BINARY_ADD_LEN - 1);
|
||||
|
@ -94,6 +95,7 @@ int32_t smlParseValue(SSmlKv *pVal, SSmlMsgBuf *msg) {
|
|||
pVal->type = TSDB_DATA_TYPE_NCHAR;
|
||||
pVal->length -= NCHAR_ADD_LEN;
|
||||
if (pVal->length > (TSDB_MAX_NCHAR_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
pVal->value += (NCHAR_ADD_LEN - 1);
|
||||
|
@ -236,7 +238,8 @@ static int32_t smlParseTagKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
|
|||
PROCESS_SLASH(value, valueLen)
|
||||
}
|
||||
|
||||
if (unlikely(valueLen > (TSDB_MAX_NCHAR_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE)) {
|
||||
if (unlikely(valueLen > (TSDB_MAX_TAGS_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE)) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
|
||||
|
|
|
@ -158,7 +158,8 @@ static int32_t smlParseTelnetTags(SSmlHandle *info, char *data, char *sqlEnd, SS
|
|||
return TSDB_CODE_TSC_INVALID_VALUE;
|
||||
}
|
||||
|
||||
if (unlikely(valueLen > (TSDB_MAX_NCHAR_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE)) {
|
||||
if (unlikely(valueLen > (TSDB_MAX_TAGS_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE)) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
|
||||
|
|
|
@ -1208,7 +1208,7 @@ SDataType createDataType(uint8_t type) {
|
|||
}
|
||||
|
||||
SDataType createVarLenDataType(uint8_t type, const SToken* pLen) {
|
||||
SDataType dt = {.type = type, .precision = 0, .scale = 0, .bytes = taosStr2Int16(pLen->z, NULL, 10)};
|
||||
SDataType dt = {.type = type, .precision = 0, .scale = 0, .bytes = taosStr2Int32(pLen->z, NULL, 10)};
|
||||
return dt;
|
||||
}
|
||||
|
||||
|
|
|
@ -4498,8 +4498,9 @@ static int32_t checkTableTagsSchema(STranslateContext* pCxt, SHashObj* pHash, SN
|
|||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_ONLY_ONE_JSON_TAG);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
if ((TSDB_DATA_TYPE_VARCHAR == pTag->dataType.type && calcTypeBytes(pTag->dataType) > TSDB_MAX_BINARY_LEN) ||
|
||||
(TSDB_DATA_TYPE_NCHAR == pTag->dataType.type && calcTypeBytes(pTag->dataType) > TSDB_MAX_NCHAR_LEN)) {
|
||||
if ((TSDB_DATA_TYPE_VARCHAR == pTag->dataType.type && calcTypeBytes(pTag->dataType) > TSDB_MAX_TAGS_LEN) ||
|
||||
(TSDB_DATA_TYPE_NCHAR == pTag->dataType.type && calcTypeBytes(pTag->dataType) > TSDB_MAX_TAGS_LEN)) {
|
||||
TASSERT
|
||||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN);
|
||||
}
|
||||
}
|
||||
|
@ -4551,6 +4552,7 @@ static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, in
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
if ((TSDB_DATA_TYPE_VARCHAR == pCol->dataType.type && calcTypeBytes(pCol->dataType) > TSDB_MAX_BINARY_LEN) ||
|
||||
(TSDB_DATA_TYPE_NCHAR == pCol->dataType.type && calcTypeBytes(pCol->dataType) > TSDB_MAX_NCHAR_LEN)) {
|
||||
TASSERT
|
||||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN);
|
||||
}
|
||||
}
|
||||
|
@ -5236,6 +5238,7 @@ static int32_t checkAlterSuperTableBySchema(STranslateContext* pCxt, SAlterTable
|
|||
|
||||
if (TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES == pStmt->alterType) {
|
||||
if (calcTypeBytes(pStmt->dataType) > TSDB_MAX_FIELD_LEN) {
|
||||
TASSERT
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN);
|
||||
}
|
||||
|
||||
|
@ -5245,7 +5248,8 @@ static int32_t checkAlterSuperTableBySchema(STranslateContext* pCxt, SAlterTable
|
|||
}
|
||||
|
||||
if (TSDB_ALTER_TABLE_UPDATE_TAG_BYTES == pStmt->alterType) {
|
||||
if (calcTypeBytes(pStmt->dataType) > TSDB_MAX_FIELD_LEN) {
|
||||
if (calcTypeBytes(pStmt->dataType) > TSDB_MAX_TAGS_LEN) {
|
||||
TASSERT
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN);
|
||||
}
|
||||
|
||||
|
|
|
@ -338,6 +338,7 @@
|
|||
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/delete_childtable.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/delete_normaltable.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/keep_expired.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/stmt_error.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/drop.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/drop.py -N 3 -M 3 -i False -n 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/join2.py
|
||||
|
|
|
@ -673,11 +673,11 @@ class TDTestCase:
|
|||
tdSql.checkNotEqual(err.errno, 0)
|
||||
|
||||
# # # binary
|
||||
# stb_name = tdCom.getLongName(7, "letters")
|
||||
# input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(16374, "letters")}" 1626006833639000000'
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
stb_name = tdCom.getLongName(7, "letters")
|
||||
input_sql = f'{stb_name},t0=t c0=f,c11=f,c2=f,c3=f,c4=f,c5=f,c6=f,c7=f,c8=f,c9=f,c10=f,c12=f,c1="{tdCom.getLongName(65519, "letters")}" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
# input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(16375, "letters")}" 1626006833639000000'
|
||||
# input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(65514, "letters")}" 1626006833639000000'
|
||||
# try:
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# except SchemalessError as err:
|
||||
|
@ -884,7 +884,7 @@ class TDTestCase:
|
|||
tdSql.checkRows(2)
|
||||
tdSql.checkNotEqual(tb_name1, tb_name3)
|
||||
|
||||
# * tag binary max is 16384, col+ts binary max 49151
|
||||
# * tag binary max is 16384, col+ts binary max 65531
|
||||
def tagColBinaryMaxLengthCheckCase(self):
|
||||
"""
|
||||
every binary and nchar must be length+2
|
||||
|
@ -911,7 +911,10 @@ class TDTestCase:
|
|||
tdSql.checkRows(2)
|
||||
|
||||
# # * check col,col+ts max in describe ---> 16143
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(16374, "letters")}",c2="{tdCom.getLongName(16374, "letters")}",c3="{tdCom.getLongName(16374, "letters")}",c4="{tdCom.getLongName(12, "letters")}" 1626006833639000000'
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(65517, "letters")}" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(49133, "letters")}",c2="{tdCom.getLongName(16384, "letters")}" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
tdSql.query(f"select * from {stb_name}")
|
||||
|
@ -1280,7 +1283,7 @@ class TDTestCase:
|
|||
self.nowTsCheckCase()
|
||||
self.dateFormatTsCheckCase()
|
||||
self.illegalTsCheckCase()
|
||||
# self.tagValueLengthCheckCase()
|
||||
self.tagValueLengthCheckCase()
|
||||
self.colValueLengthCheckCase()
|
||||
self.tagColIllegalValueCheckCase()
|
||||
self.duplicateIdTagColInsertCheckCase()
|
||||
|
|
|
@ -0,0 +1,225 @@
|
|||
# encoding:UTF-8
|
||||
from taos import *
|
||||
|
||||
from ctypes import *
|
||||
from datetime import datetime
|
||||
import taos
|
||||
|
||||
import taos
|
||||
import time
|
||||
|
||||
from util.log import *
|
||||
from util.cases import *
|
||||
from util.sql import *
|
||||
from util.dnodes import *
|
||||
|
||||
class TDTestCase:
|
||||
def __init__(self):
|
||||
self.err_case = 0
|
||||
self.curret_case = 0
|
||||
|
||||
def caseDescription(self):
|
||||
|
||||
'''
|
||||
case1 <wenzhouwww>: [TD-11899] : this is an test case for check stmt error use .
|
||||
'''
|
||||
return
|
||||
|
||||
def init(self, conn, logSql, replicaVar=1):
|
||||
self.replicaVar = int(replicaVar)
|
||||
tdLog.debug("start to execute %s" % __file__)
|
||||
tdSql.init(conn.cursor(), logSql)
|
||||
|
||||
def conn(self):
|
||||
# type: () -> taos.TaosConnection
|
||||
return connect()
|
||||
|
||||
def test_stmt_insert(self,conn):
|
||||
# type: (TaosConnection) -> None
|
||||
|
||||
dbname = "pytest_taos_stmt"
|
||||
try:
|
||||
conn.execute("drop database if exists %s" % dbname)
|
||||
conn.execute("create database if not exists %s" % dbname)
|
||||
conn.select_db(dbname)
|
||||
|
||||
conn.execute(
|
||||
"create table if not exists log(ts timestamp, bo bool, nil tinyint, ti tinyint, si smallint, ii int,\
|
||||
bi bigint, tu tinyint unsigned, su smallint unsigned, iu int unsigned, bu bigint unsigned, \
|
||||
ff float, dd double, bb binary(65059), nn nchar(100), tt timestamp)",
|
||||
)
|
||||
conn.load_table_info("log")
|
||||
|
||||
|
||||
stmt = conn.statement("insert into log values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
|
||||
params = new_bind_params(16)
|
||||
params[0].timestamp(1626861392589, PrecisionEnum.Milliseconds)
|
||||
params[1].bool(True)
|
||||
params[2].tinyint(None)
|
||||
params[3].tinyint(2)
|
||||
params[4].smallint(3)
|
||||
params[5].int(4)
|
||||
params[6].bigint(5)
|
||||
params[7].tinyint_unsigned(6)
|
||||
params[8].smallint_unsigned(7)
|
||||
params[9].int_unsigned(8)
|
||||
params[10].bigint_unsigned(9)
|
||||
params[11].float(10.1)
|
||||
params[12].double(10.11)
|
||||
binaryStr = '123456789'
|
||||
for i in range(1301):
|
||||
binaryStr += "1234567890abcdefghij1234567890abcdefghij12345hello"
|
||||
params[13].binary(binaryStr)
|
||||
params[14].nchar("stmt")
|
||||
params[15].timestamp(1626861392589, PrecisionEnum.Milliseconds)
|
||||
|
||||
stmt.bind_param(params)
|
||||
stmt.execute()
|
||||
|
||||
assert stmt.affected_rows == 1
|
||||
stmt.close()
|
||||
|
||||
querystmt=conn.statement("select ?, bo, nil, ti, si, ii,bi, tu, su, iu, bu, ff, dd, bb, nn, tt from log")
|
||||
queryparam=new_bind_params(1)
|
||||
print(type(queryparam))
|
||||
queryparam[0].binary("ts")
|
||||
querystmt.bind_param(queryparam)
|
||||
querystmt.execute()
|
||||
result=querystmt.use_result()
|
||||
|
||||
row=result.fetch_all()
|
||||
print(row)
|
||||
|
||||
assert row[0][1] == True
|
||||
assert row[0][2] == None
|
||||
for i in range(3, 10):
|
||||
assert row[0][i] == i - 1
|
||||
#float == may not work as expected
|
||||
# assert row[0][11] == c_float(10.1)
|
||||
assert row[0][12] == 10.11
|
||||
assert row[0][13][65054:] == "hello"
|
||||
assert row[0][14] == "stmt"
|
||||
|
||||
conn.execute("drop database if exists %s" % dbname)
|
||||
conn.close()
|
||||
|
||||
except Exception as err:
|
||||
conn.execute("drop database if exists %s" % dbname)
|
||||
conn.close()
|
||||
raise err
|
||||
|
||||
def test_stmt_insert_error(self,conn):
|
||||
# type: (TaosConnection) -> None
|
||||
|
||||
dbname = "pytest_taos_stmt_error"
|
||||
try:
|
||||
conn.execute("drop database if exists %s" % dbname)
|
||||
conn.execute("create database if not exists %s" % dbname)
|
||||
conn.select_db(dbname)
|
||||
|
||||
conn.execute(
|
||||
"create table if not exists log(ts timestamp, bo bool, nil tinyint, ti tinyint, si smallint, ii int,\
|
||||
bi bigint, tu tinyint unsigned, su smallint unsigned, iu int unsigned, bu bigint unsigned, \
|
||||
ff float, dd double, bb binary(100), nn nchar(100), tt timestamp , error_data int )",
|
||||
)
|
||||
conn.load_table_info("log")
|
||||
|
||||
|
||||
stmt = conn.statement("insert into log values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,1000)")
|
||||
params = new_bind_params(16)
|
||||
params[0].timestamp(1626861392589, PrecisionEnum.Milliseconds)
|
||||
params[1].bool(True)
|
||||
params[2].tinyint(None)
|
||||
params[3].tinyint(2)
|
||||
params[4].smallint(3)
|
||||
params[5].int(4)
|
||||
params[6].bigint(5)
|
||||
params[7].tinyint_unsigned(6)
|
||||
params[8].smallint_unsigned(7)
|
||||
params[9].int_unsigned(8)
|
||||
params[10].bigint_unsigned(9)
|
||||
params[11].float(10.1)
|
||||
params[12].double(10.11)
|
||||
params[13].binary("hello")
|
||||
params[14].nchar("stmt")
|
||||
params[15].timestamp(1626861392589, PrecisionEnum.Milliseconds)
|
||||
|
||||
stmt.bind_param(params)
|
||||
stmt.execute()
|
||||
|
||||
conn.close()
|
||||
|
||||
except Exception as err:
|
||||
conn.execute("drop database if exists %s" % dbname)
|
||||
conn.close()
|
||||
raise err
|
||||
|
||||
def test_stmt_insert_error_null_timestamp(self,conn):
|
||||
|
||||
dbname = "pytest_taos_stmt_error_null_ts"
|
||||
try:
|
||||
conn.execute("drop database if exists %s" % dbname)
|
||||
conn.execute("create database if not exists %s" % dbname)
|
||||
conn.execute("alter database %s keep 36500" % dbname)
|
||||
conn.select_db(dbname)
|
||||
|
||||
conn.execute("create stable STB(ts timestamp, n int) tags(b int)")
|
||||
|
||||
stmt = conn.statement("insert into ? using STB tags(?) values(?, ?)")
|
||||
params = new_bind_params(1)
|
||||
params[0].int(4);
|
||||
stmt.set_tbname_tags("ct", params);
|
||||
|
||||
multi_params = new_multi_binds(2);
|
||||
multi_params[0].timestamp([9223372036854775808])
|
||||
multi_params[1].int([123])
|
||||
stmt.bind_param_batch(multi_params)
|
||||
|
||||
stmt.execute()
|
||||
result = stmt.use_result()
|
||||
|
||||
result.close()
|
||||
stmt.close()
|
||||
|
||||
stmt = conn.statement("select * from STB")
|
||||
stmt.execute()
|
||||
result = stmt.use_result()
|
||||
print(result.affected_rows)
|
||||
row = result.next()
|
||||
print(row)
|
||||
|
||||
result.close()
|
||||
stmt.close()
|
||||
conn.close()
|
||||
|
||||
except Exception as err:
|
||||
conn.close()
|
||||
raise err
|
||||
|
||||
def run(self):
|
||||
|
||||
self.test_stmt_insert(self.conn())
|
||||
try:
|
||||
self.test_stmt_insert_error(self.conn())
|
||||
except Exception as error :
|
||||
|
||||
if str(error)=='[0x0200]: no mix usage for ? and values':
|
||||
tdLog.info('=========stmt error occured for bind part column ==============')
|
||||
else:
|
||||
tdLog.exit("expect error(%s) not occured" % str(error))
|
||||
|
||||
try:
|
||||
self.test_stmt_insert_error_null_timestamp(self.conn())
|
||||
tdLog.exit("expect error not occured - 1")
|
||||
except Exception as error :
|
||||
if str(error)=='[0x060b]: Timestamp data out of range':
|
||||
tdLog.info('=========stmt error occured for bind part column(NULL Timestamp) ==============')
|
||||
else:
|
||||
tdLog.exit("expect error(%s) not occured - 2" % str(error))
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -287,6 +287,7 @@ python3 ./test.py -f 1-insert/tb_100w_data_order.py -P
|
|||
python3 ./test.py -f 1-insert/delete_childtable.py -P
|
||||
python3 ./test.py -f 1-insert/delete_normaltable.py -P
|
||||
python3 ./test.py -f 1-insert/keep_expired.py -P
|
||||
python3 ./test.py -f 1-insert/stmt_error.py -P
|
||||
python3 ./test.py -f 1-insert/drop.py -P
|
||||
python3 ./test.py -f 2-query/join2.py -P
|
||||
python3 ./test.py -f 2-query/union1.py -P
|
||||
|
|
|
@ -218,6 +218,7 @@ python3 ./test.py -f 1-insert/delete_stable.py
|
|||
python3 ./test.py -f 1-insert/delete_childtable.py
|
||||
python3 ./test.py -f 1-insert/delete_normaltable.py
|
||||
python3 ./test.py -f 1-insert/keep_expired.py
|
||||
python3 ./test.py -f 1-insert/stmt_error.py
|
||||
python3 ./test.py -f 1-insert/drop.py
|
||||
python3 ./test.py -f 1-insert/drop.py -N 3 -M 3 -i False -n 3
|
||||
python3 ./test.py -f 2-query/join2.py
|
||||
|
|
Loading…
Reference in New Issue