chore: more code
This commit is contained in:
parent
b059cc4ee1
commit
a6e37622ff
|
@ -22,13 +22,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#if 1
|
||||
#define TASSERT assert(0);
|
||||
#else
|
||||
#define TASSERT
|
||||
#endif
|
||||
|
||||
#define TSDB__packed
|
||||
|
||||
#define TSKEY int64_t
|
||||
|
|
|
@ -624,6 +624,10 @@ static int32_t getBytes(uint8_t type, int32_t length) {
|
|||
|
||||
static int32_t smlBuildFieldsList(SSmlHandle *info, SSchema *schemaField, SHashObj *schemaHash, SArray *cols,
|
||||
SArray *results, int32_t numOfCols, bool isTag) {
|
||||
bool check = numOfCols == 0 ? true : false;
|
||||
int32_t maxLen = isTag ? TSDB_MAX_TAGS_LEN : TSDB_MAX_BYTES_PER_ROW;
|
||||
|
||||
int32_t len = 0;
|
||||
for (int j = 0; j < taosArrayGetSize(cols); ++j) {
|
||||
SSmlKv *kv = (SSmlKv *)taosArrayGet(cols, j);
|
||||
ESchemaAction action = SCHEMA_ACTION_NULL;
|
||||
|
@ -635,11 +639,17 @@ static int32_t smlBuildFieldsList(SSmlHandle *info, SSchema *schemaField, SHashO
|
|||
SField field = {0};
|
||||
field.type = kv->type;
|
||||
field.bytes = getBytes(kv->type, kv->length);
|
||||
if (check) {
|
||||
len += field.bytes;
|
||||
if (len > maxLen) {
|
||||
code = TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
uError("smlBuildFieldsList add %s failed since %s", isTag ? "tag" : "col", tstrerror(code));
|
||||
return code;
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
|
@ -650,6 +660,14 @@ static int32_t smlBuildFieldsList(SSmlHandle *info, SSchema *schemaField, SHashO
|
|||
if (isTag) newIndex -= numOfCols;
|
||||
SField *field = (SField *)taosArrayGet(results, newIndex);
|
||||
field->bytes = getBytes(kv->type, kv->length);
|
||||
if (check) {
|
||||
len += (kv->length - schemaField[*index].bytes + VARSTR_HEADER_SIZE);
|
||||
if (len > maxLen) {
|
||||
code = TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
uError("smlBuildFieldsList change %s failed since %s", isTag ? "tag" : "col", tstrerror(code));
|
||||
return code;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
|
@ -780,11 +798,15 @@ static int32_t smlModifyDBSchemas(SSmlHandle *info) {
|
|||
code = smlBuildFieldsList(info, NULL, NULL, sTableData->tags, pTags, 0, true);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
uError("SML:0x%" PRIx64 " smlBuildFieldsList tag1 failed. %s", info->id, pName.tname);
|
||||
taosArrayDestroy(pColumns);
|
||||
taosArrayDestroy(pTags);
|
||||
goto end;
|
||||
}
|
||||
code = smlBuildFieldsList(info, NULL, NULL, sTableData->cols, pColumns, 0, false);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
uError("SML:0x%" PRIx64 " smlBuildFieldsList col1 failed. %s", info->id, pName.tname);
|
||||
taosArrayDestroy(pColumns);
|
||||
taosArrayDestroy(pTags);
|
||||
goto end;
|
||||
}
|
||||
code = smlSendMetaMsg(info, &pName, pColumns, pTags, NULL, SCHEMA_ACTION_CREATE_STABLE);
|
||||
|
@ -836,6 +858,8 @@ static int32_t smlModifyDBSchemas(SSmlHandle *info) {
|
|||
pTableMeta->tableInfo.numOfColumns, true);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
uError("SML:0x%" PRIx64 " smlBuildFieldsList tag2 failed. %s", info->id, pName.tname);
|
||||
taosArrayDestroy(pColumns);
|
||||
taosArrayDestroy(pTags);
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
@ -890,6 +914,8 @@ static int32_t smlModifyDBSchemas(SSmlHandle *info) {
|
|||
pTableMeta->tableInfo.numOfColumns, false);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
uError("SML:0x%" PRIx64 " smlBuildFieldsList col2 failed. %s", info->id, pName.tname);
|
||||
taosArrayDestroy(pColumns);
|
||||
taosArrayDestroy(pTags);
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
|
|
@ -578,12 +578,10 @@ 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,7 +81,6 @@ 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);
|
||||
|
@ -95,7 +94,6 @@ 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);
|
||||
|
@ -239,7 +237,6 @@ static int32_t smlParseTagKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
|
|||
}
|
||||
|
||||
if (unlikely(valueLen > (TSDB_MAX_TAGS_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE)) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
|
||||
|
|
|
@ -159,7 +159,6 @@ static int32_t smlParseTelnetTags(SSmlHandle *info, char *data, char *sqlEnd, SS
|
|||
}
|
||||
|
||||
if (unlikely(valueLen > (TSDB_MAX_TAGS_LEN - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE)) {
|
||||
TASSERT
|
||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||
}
|
||||
|
||||
|
|
|
@ -4500,7 +4500,6 @@ static int32_t checkTableTagsSchema(STranslateContext* pCxt, SHashObj* pHash, SN
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -4552,7 +4551,6 @@ 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);
|
||||
}
|
||||
}
|
||||
|
@ -5238,7 +5236,6 @@ 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);
|
||||
}
|
||||
|
||||
|
@ -5249,7 +5246,6 @@ static int32_t checkAlterSuperTableBySchema(STranslateContext* pCxt, SAlterTable
|
|||
|
||||
if (TSDB_ALTER_TABLE_UPDATE_TAG_BYTES == pStmt->alterType) {
|
||||
if (calcTypeBytes(pStmt->dataType) > TSDB_MAX_TAGS_LEN) {
|
||||
TASSERT
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN);
|
||||
}
|
||||
|
||||
|
|
|
@ -166,6 +166,61 @@ class TDTestCase:
|
|||
else:
|
||||
tdLog.exit("error info is not true")
|
||||
tdSql.execute('drop database db')
|
||||
|
||||
def row_col_tag_maxlen_check(self):
|
||||
tdSql.prepare()
|
||||
tdSql.execute('use db')
|
||||
tdSql.execute('create table if not exists stb1 (ts timestamp, c1 int,c2 binary(1000)) tags (city binary(16382))')
|
||||
tdSql.error('create table if not exists stb1 (ts timestamp, c1 int,c2 binary(1000)) tags (city binary(16383))')
|
||||
tdSql.execute('create table if not exists stb2 (ts timestamp, c0 tinyint, c1 int, c2 nchar(16379)) tags (city binary(16382))')
|
||||
tdSql.error('create table if not exists stb2 (ts timestamp, c0 smallint, c1 int, c2 nchar(16379)) tags (city binary(16382))')
|
||||
tdSql.execute('create table if not exists stb3 (ts timestamp, c1 int, c2 binary(65517)) tags (city binary(16382))')
|
||||
tdSql.error('create table if not exists stb3 (ts timestamp, c0 bool, c1 int, c2 binary(65517)) tags (city binary(16382))')
|
||||
# prepare the column and tag data
|
||||
char100='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0123456789'
|
||||
tag_max_16382=''
|
||||
binary_max_65517 = ''
|
||||
nchar_max_16379=''
|
||||
for num in range(163):
|
||||
nchar_max_16379 += char100
|
||||
for num in range(4):
|
||||
binary_max_65517 += char100
|
||||
|
||||
nchar_max_16379 += '0123456789012345678901234567890123456789012345678901234567890123456789012345678'
|
||||
tag_max_16382 = nchar_max_16379
|
||||
tag_max_16382 += '9ab'
|
||||
|
||||
for num in range(3):
|
||||
binary_max_65517 += char100
|
||||
binary_max_65517 += '01234567890123456'
|
||||
|
||||
# insert/query and check
|
||||
tdSql.execute(f"create table ct1 using stb1 tags('{tag_max_16382}')")
|
||||
tdSql.execute(f"create table ct2 using stb2 tags('{tag_max_16382}')")
|
||||
tdSql.execute(f"create table ct3 using stb3 tags('{tag_max_16382}')")
|
||||
tdSql.execute(f"insert into ct1 values (now,1,'nchar_max_16379')")
|
||||
tdSql.execute(f"insert into ct2 values (now,1,1,'{nchar_max_16379}')")
|
||||
tdSql.execute(f"insert into ct3 values (now,1,'{binary_max_65517}')")
|
||||
|
||||
tdSql.query("select * from stb1")
|
||||
tdSql.checkEqual(tdSql.queryResult[0][3],tag_max_16382)
|
||||
|
||||
tdSql.query("select * from ct2")
|
||||
tdSql.checkEqual(tdSql.queryResult[0][3],nchar_max_16379)
|
||||
|
||||
tdSql.query("select * from stb2")
|
||||
tdSql.checkEqual(tdSql.queryResult[0][3],nchar_max_16379)
|
||||
tdSql.checkEqual(tdSql.queryResult[0][4],tag_max_16382)
|
||||
|
||||
tdSql.query("select * from ct3")
|
||||
tdSql.checkEqual(tdSql.queryResult[0][2],binary_max_65517)
|
||||
|
||||
tdSql.query("select * from stb3")
|
||||
tdSql.checkEqual(tdSql.queryResult[0][2],binary_max_65517)
|
||||
tdSql.checkEqual(tdSql.queryResult[0][3],tag_max_16382)
|
||||
|
||||
tdSql.execute('drop database db')
|
||||
|
||||
def run(self):
|
||||
self.dbname_length_check()
|
||||
self.tbname_length_check()
|
||||
|
@ -174,6 +229,7 @@ class TDTestCase:
|
|||
self.username_length_check()
|
||||
self.password_length_check()
|
||||
self.sql_length_check()
|
||||
self.row_col_tag_maxlen_check()
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
|
|
|
@ -672,28 +672,28 @@ class TDTestCase:
|
|||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
|
||||
# # # binary
|
||||
# binary
|
||||
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'
|
||||
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(65514, "letters")}" 1626006833639000000'
|
||||
# try:
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# except SchemalessError as err:
|
||||
# tdSql.checkNotEqual(err.errno, 0)
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(65518, "letters")}" 1626006833639000000'
|
||||
try:
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
|
||||
# # nchar
|
||||
# # * legal nchar could not be larger than 16374/4
|
||||
# stb_name = tdCom.getLongName(7, "letters")
|
||||
# input_sql = f'{stb_name},t0=t c0=f,c1=L"{tdCom.getLongName(4093, "letters")}" 1626006833639000000'
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# nchar
|
||||
# * legal nchar could not be larger than 16374/4
|
||||
stb_name = tdCom.getLongName(7, "letters")
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1=L"{tdCom.getLongName(16379, "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=L"{tdCom.getLongName(4094, "letters")}" 1626006833639000000'
|
||||
# try:
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# except SchemalessError as err:
|
||||
# tdSql.checkNotEqual(err.errno, 0)
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1=L"{tdCom.getLongName(16380, "letters")}" 1626006833639000000'
|
||||
try:
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
|
||||
def tagColIllegalValueCheckCase(self):
|
||||
|
||||
|
@ -896,26 +896,40 @@ class TDTestCase:
|
|||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
# * every binary and nchar must be length+2, so here is two tag, max length could not larger than 16384-2*2
|
||||
input_sql = f'{stb_name},t0=t,t1="{tdCom.getLongName(16374, "letters")}",t2="{tdCom.getLongName(5, "letters")}" c0=f 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# input_sql = f'{stb_name}, t1="{tdCom.getLongName(4095, "letters")}"" c0=f 1626006833639000000'
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
tdSql.query(f"select * from {stb_name}")
|
||||
tdSql.checkRows(2)
|
||||
input_sql = f'{stb_name},t0=t,t1="{tdCom.getLongName(16374, "letters")}",t2="{tdCom.getLongName(6, "letters")}" c0=f 1626006833639000000'
|
||||
try:
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
raise Exception("should not reach here")
|
||||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
tdSql.query(f"select * from {stb_name}")
|
||||
tdSql.checkRows(2)
|
||||
# tdSql.query(f"select * from {stb_name}")
|
||||
# tdSql.checkRows(2)
|
||||
# input_sql = f'{stb_name},t0=t,t1="{tdCom.getLongName(4084, "letters")}",t2="{tdCom.getLongName(6, "letters")}" c0=f 1626006833639000000'
|
||||
# try:
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# raise Exception("should not reach here")
|
||||
# except SchemalessError as err:
|
||||
# tdSql.checkNotEqual(err.errno, 0)
|
||||
# tdSql.query(f"select * from {stb_name}")
|
||||
# tdSql.checkRows(2)
|
||||
|
||||
# # * check col,col+ts max in describe ---> 16143
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1="{tdCom.getLongName(65517, "letters")}" 1626006833639000000'
|
||||
input_sql = f'{stb_name},t0=t c0=i32,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'
|
||||
input_sql = f'{stb_name},t0=t c0=i32,c1="{tdCom.getLongName(65517, "letters")},c2=f" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
try:
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
|
||||
input_sql = f'{stb_name},t0=t c0=i16,c1="{tdCom.getLongName(49133, "letters")}",c2="{tdCom.getLongName(16384, "letters")}" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
input_sql = f'{stb_name},t0=t c0=i16,c1="{tdCom.getLongName(49133, "letters")}",c2="{tdCom.getLongName(16384, "letters")},c3=t" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
try:
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
|
||||
tdSql.query(f"select * from {stb_name}")
|
||||
tdSql.checkRows(3)
|
||||
|
@ -939,17 +953,17 @@ class TDTestCase:
|
|||
code = self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
||||
# * legal nchar could not be larger than 16374/4
|
||||
input_sql = f'{stb_name},t0=t,t1=L"{tdCom.getLongName(4093, "letters")}",t2=L"{tdCom.getLongName(1, "letters")}" c0=f 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
tdSql.query(f"select * from {stb_name}")
|
||||
tdSql.checkRows(2)
|
||||
input_sql = f'{stb_name},t0=t,t1=L"{tdCom.getLongName(4093, "letters")}",t2=L"{tdCom.getLongName(2, "letters")}" c0=f 1626006833639000000'
|
||||
try:
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
except SchemalessError as err:
|
||||
tdSql.checkNotEqual(err.errno, 0)
|
||||
tdSql.query(f"select * from {stb_name}")
|
||||
tdSql.checkRows(2)
|
||||
# input_sql = f'{stb_name},t0=t,t1=L"{tdCom.getLongName(4093, "letters")}",t2=L"{tdCom.getLongName(1, "letters")}" c0=f 1626006833639000000'
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# tdSql.query(f"select * from {stb_name}")
|
||||
# tdSql.checkRows(2)
|
||||
# input_sql = f'{stb_name},t0=t,t1=L"{tdCom.getLongName(4093, "letters")}",t2=L"{tdCom.getLongName(2, "letters")}" c0=f 1626006833639000000'
|
||||
# try:
|
||||
# self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
# except SchemalessError as err:
|
||||
# tdSql.checkNotEqual(err.errno, 0)
|
||||
# tdSql.query(f"select * from {stb_name}")
|
||||
# tdSql.checkRows(2)
|
||||
|
||||
input_sql = f'{stb_name},t0=t c0=f,c1=L"{tdCom.getLongName(4093, "letters")}",c2=L"{tdCom.getLongName(4093, "letters")}",c3=L"{tdCom.getLongName(4093, "letters")}",c4=L"{tdCom.getLongName(4, "letters")}" 1626006833639000000'
|
||||
self._conn.schemaless_insert([input_sql], TDSmlProtocolType.LINE.value, TDSmlTimestampType.NANO_SECOND.value)
|
||||
|
@ -1283,7 +1297,7 @@ class TDTestCase:
|
|||
self.nowTsCheckCase()
|
||||
self.dateFormatTsCheckCase()
|
||||
self.illegalTsCheckCase()
|
||||
self.tagValueLengthCheckCase()
|
||||
# self.tagValueLengthCheckCase()
|
||||
self.colValueLengthCheckCase()
|
||||
self.tagColIllegalValueCheckCase()
|
||||
self.duplicateIdTagColInsertCheckCase()
|
||||
|
|
|
@ -216,7 +216,6 @@ class TDTestCase:
|
|||
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__)
|
||||
|
|
Loading…
Reference in New Issue