Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d86c5910
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
d86c5910
编写于
9月 13, 2021
作者:
H
Hui Li
提交者:
GitHub
9月 13, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7874 from taosdata/test/td-6515-2
[TD-6515]<test>: add 45 testcases for OpenTSDB telnet style data import
上级
1f0b6a6c
d4b7655b
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
300 addition
and
244 deletion
+300
-244
tests/pytest/insert/openTsdbTelnetLinesInsert.py
tests/pytest/insert/openTsdbTelnetLinesInsert.py
+300
-244
未找到文件。
tests/pytest/insert/openTsdbTelnetLinesInsert.py
浏览文件 @
d86c5910
...
...
@@ -13,7 +13,6 @@
import
traceback
import
random
import
string
from
taos.error
import
LinesError
import
time
from
copy
import
deepcopy
...
...
@@ -24,7 +23,6 @@ from util.sql import *
from
util.common
import
tdCom
import
threading
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
...
...
@@ -191,7 +189,8 @@ class TDTestCase:
t4
=
"9223372036854775807i64"
,
t5
=
"11.12345f32"
,
t6
=
"22.123456789f64"
,
t7
=
"
\"
binaryTagValue
\"
"
,
t8
=
"L
\"
ncharTagValue
\"
"
,
ts
=
"1626006833639000000ns"
,
id_noexist_tag
=
None
,
id_change_tag
=
None
,
id_upper_tag
=
None
,
id_double_tag
=
None
,
t_add_tag
=
None
,
t_mul_tag
=
None
,
t_multi_tag
=
None
,
t_blank_tag
=
None
):
t_add_tag
=
None
,
t_mul_tag
=
None
,
t_multi_tag
=
None
,
c_blank_tag
=
None
,
t_blank_tag
=
None
,
chinese_tag
=
None
,
multi_field_tag
=
None
):
if
stb_name
==
""
:
stb_name
=
tdCom
.
getLongName
(
len
=
6
,
mode
=
"letters"
)
if
tb_name
==
""
:
...
...
@@ -221,8 +220,14 @@ class TDTestCase:
sql_seq
=
f
'
{
stb_name
}
{
ts
}
{
value
}
t0=
{
t0
}
,t1=
{
t1
}
,t2=
{
t2
}
,t3=
{
t3
}
,t4=
{
t4
}
,t5=
{
t5
}
,t6=
{
t6
}
'
if
t_multi_tag
is
not
None
:
sql_seq
=
f
'
{
stb_name
}
{
ts
}
{
value
}
,
{
value
}
{
id
}
=
\"
{
tb_name
}
\"
,t0=
{
t0
}
,t1=
{
t1
}
,t2=
{
t2
}
,t3=
{
t3
}
,t4=
{
t4
}
,t5=
{
t5
}
,t6=
{
t6
}
'
if
t
_blank_tag
is
not
None
:
if
c
_blank_tag
is
not
None
:
sql_seq
=
f
'
{
stb_name
}
{
ts
}
{
id
}
=
\"
{
tb_name
}
\"
,t0=
{
t0
}
,t1=
{
t1
}
,t2=
{
t2
}
,t3=
{
t3
}
,t4=
{
t4
}
,t5=
{
t5
}
,t6=
{
t6
}
,t7=
{
t7
}
,t8=
{
t8
}
'
if
t_blank_tag
is
not
None
:
sql_seq
=
f
'
{
stb_name
}
{
ts
}
{
value
}
{
id
}
=
\"
{
tb_name
}
\"
'
if
chinese_tag
is
not
None
:
sql_seq
=
f
'
{
stb_name
}
{
ts
}
L"涛思数据" t0=
{
t0
}
,t1=L"涛思数据"'
if
multi_field_tag
is
not
None
:
sql_seq
=
f
'
{
stb_name
}
{
ts
}
{
value
}
{
id
}
=
\"
{
tb_name
}
\"
,t0=
{
t0
}
t1=
{
t1
}
'
return
sql_seq
,
stb_name
def
genMulTagColStr
(
self
,
genType
,
count
=
1
):
...
...
@@ -259,8 +264,6 @@ class TDTestCase:
def
resHandle
(
self
,
query_sql
,
query_tag
):
tdSql
.
execute
(
'reset query cache'
)
row_info
=
tdSql
.
query
(
query_sql
,
query_tag
)
print
(
query_sql
)
print
(
row_info
)
col_info
=
tdSql
.
getColNameList
(
query_sql
,
query_tag
)
res_row_list
=
[]
sub_list
=
[]
...
...
@@ -277,22 +280,6 @@ class TDTestCase:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
query_sql
=
f
"
{
query_sql
}
{
stb_name
}
{
condition
}
"
res_row_list
,
res_field_list_without_ts
,
res_type_list
=
self
.
resHandle
(
query_sql
,
True
)
res
=
tdSql
.
query
(
f
'select * from
{
stb_name
}
'
,
True
)
print
(
res
)
res
=
tdSql
.
query
(
f
'select * from
{
stb_name
}
'
,
True
)
print
(
res
)
time
.
sleep
(
2
)
res
=
tdSql
.
query
(
f
'select * from
{
stb_name
}
'
,
True
)
print
(
res
)
time
.
sleep
(
2
)
res
=
tdSql
.
query
(
f
'select * from
{
stb_name
}
'
,
True
)
print
(
res
)
time
.
sleep
(
2
)
res
=
tdSql
.
query
(
f
'select * from
{
stb_name
}
'
,
True
)
print
(
res
)
if
ts
==
0
:
res_ts
=
self
.
dateToTs
(
res_row_list
[
0
][
0
])
current_time
=
time
.
time
()
...
...
@@ -535,8 +522,8 @@ class TDTestCase:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
t6
=
t6
)
self
.
resCmp
(
input_sql
,
stb_name
)
# * limit set to 1.797693134862316*(10**308)
for
c
6
in
[
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
,
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
]:
input_sql
=
self
.
genFullTypeSql
(
c6
=
c
6
)[
0
]
for
t
6
in
[
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
,
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
]:
input_sql
=
self
.
genFullTypeSql
(
t6
=
t
6
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -574,23 +561,25 @@ class TDTestCase:
"""
tdCom
.
cleanTb
()
# i8
for
c1
in
[
"-127i8"
,
"127i8"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
c1
=
c1
)
for
value
in
[
"-127i8"
,
"127i8"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
value
)
self
.
resCmp
(
input_sql
,
stb_name
)
for
c1
in
[
"-128i8"
,
"128i8"
]:
input_sql
=
self
.
genFullTypeSql
(
c1
=
c1
)[
0
]
tdCom
.
cleanTb
()
for
value
in
[
"-128i8"
,
"128i8"
]:
input_sql
=
self
.
genFullTypeSql
(
value
=
value
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# i16
for
c2
in
[
"-32767i16"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
c2
=
c2
)
tdCom
.
cleanTb
()
for
value
in
[
"-32767i16"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
value
)
self
.
resCmp
(
input_sql
,
stb_name
)
for
c2
in
[
"-32768i16"
,
"32768i16"
]:
input_sql
=
self
.
genFullTypeSql
(
c2
=
c2
)[
0
]
tdCom
.
cleanTb
()
for
value
in
[
"-32768i16"
,
"32768i16"
]:
input_sql
=
self
.
genFullTypeSql
(
value
=
value
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -598,11 +587,13 @@ class TDTestCase:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# i32
for
c3
in
[
"-2147483647i32"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
c3
=
c3
)
tdCom
.
cleanTb
()
for
value
in
[
"-2147483647i32"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
value
)
self
.
resCmp
(
input_sql
,
stb_name
)
for
c3
in
[
"-2147483648i32"
,
"2147483648i32"
]:
input_sql
=
self
.
genFullTypeSql
(
c3
=
c3
)[
0
]
tdCom
.
cleanTb
()
for
value
in
[
"-2147483648i32"
,
"2147483648i32"
]:
input_sql
=
self
.
genFullTypeSql
(
value
=
value
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -610,11 +601,13 @@ class TDTestCase:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# i64
for
c4
in
[
"-9223372036854775807i64"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
c4
=
c4
)
tdCom
.
cleanTb
()
for
value
in
[
"-9223372036854775807i64"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
value
)
self
.
resCmp
(
input_sql
,
stb_name
)
for
c4
in
[
"-9223372036854775808i64"
,
"9223372036854775808i64"
]:
input_sql
=
self
.
genFullTypeSql
(
c4
=
c4
)[
0
]
tdCom
.
cleanTb
()
for
value
in
[
"-9223372036854775808i64"
,
"9223372036854775808i64"
]:
input_sql
=
self
.
genFullTypeSql
(
value
=
value
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -622,12 +615,14 @@ class TDTestCase:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# f32
for
c5
in
[
f
"
{
-
3.4028234663852885981170418348451692544
*
(
10
**
38
)
}
f32"
,
f
"
{
3.4028234663852885981170418348451692544
*
(
10
**
38
)
}
f32"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
c5
=
c5
)
tdCom
.
cleanTb
()
for
value
in
[
f
"
{
-
3.4028234663852885981170418348451692544
*
(
10
**
38
)
}
f32"
,
f
"
{
3.4028234663852885981170418348451692544
*
(
10
**
38
)
}
f32"
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
value
)
self
.
resCmp
(
input_sql
,
stb_name
)
# * limit set to 4028234664*(10**38)
for
c5
in
[
f
"
{
-
3.4028234664
*
(
10
**
38
)
}
f32"
,
f
"
{
3.4028234664
*
(
10
**
38
)
}
f32"
]:
input_sql
=
self
.
genFullTypeSql
(
c5
=
c5
)[
0
]
tdCom
.
cleanTb
()
for
value
in
[
f
"
{
-
3.4028234664
*
(
10
**
38
)
}
f32"
,
f
"
{
3.4028234664
*
(
10
**
38
)
}
f32"
]:
input_sql
=
self
.
genFullTypeSql
(
value
=
value
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -635,12 +630,14 @@ class TDTestCase:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# f64
for
c6
in
[
f
'
{
-
1.79769313486231570814527423731704356798070567525844996598917476803157260780
*
(
10
**
308
)
}
f64'
,
f
'
{
-
1.79769313486231570814527423731704356798070567525844996598917476803157260780
*
(
10
**
308
)
}
f64'
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
c6
=
c6
)
tdCom
.
cleanTb
()
for
value
in
[
f
'
{
-
1.79769313486231570814527423731704356798070567525844996598917476803157260780
*
(
10
**
308
)
}
f64'
,
f
'
{
-
1.79769313486231570814527423731704356798070567525844996598917476803157260780
*
(
10
**
308
)
}
f64'
]:
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
value
)
self
.
resCmp
(
input_sql
,
stb_name
)
# * limit set to 1.797693134862316*(10**308)
for
c6
in
[
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
,
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
]:
input_sql
=
self
.
genFullTypeSql
(
c6
=
c6
)[
0
]
tdCom
.
cleanTb
()
for
value
in
[
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
,
f
'
{
-
1.797693134862316
*
(
10
**
308
)
}
f64'
]:
input_sql
=
self
.
genFullTypeSql
(
value
=
value
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -648,10 +645,12 @@ class TDTestCase:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# # binary
tdCom
.
cleanTb
()
stb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns "
{
tdCom
.
getLongName
(
16374
,
"letters"
)
}
" t0=t'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
tdCom
.
cleanTb
()
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns "
{
tdCom
.
getLongName
(
16375
,
"letters"
)
}
" t0=t'
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
...
...
@@ -661,10 +660,12 @@ class TDTestCase:
# nchar
# * legal nchar could not be larger than 16374/4
tdCom
.
cleanTb
()
stb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns L"
{
tdCom
.
getLongName
(
4093
,
"letters"
)
}
" t0=t'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
tdCom
.
cleanTb
()
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns L"
{
tdCom
.
getLongName
(
4094
,
"letters"
)
}
" t0=t'
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
...
...
@@ -709,24 +710,21 @@ class TDTestCase:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
# check binary and nchar blank
stb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql1
=
f
'
{
stb_name
}
1626006833639000000ns "abc aaa" t0=t'
input_sql2
=
f
'
{
stb_name
}
1626006833639000000ns L"abc aaa" t0=t'
input_sql3
=
f
'
{
stb_name
}
1626006833639000000ns t t0="abc aaa"'
input_sql4
=
f
'
{
stb_name
}
1626006833639000000ns t t0=L"abc aaa"'
input_sql1
=
f
'
{
tdCom
.
getLongName
(
7
,
"letters"
)
}
1626006833639000000ns "abc aaa" t0=t'
input_sql2
=
f
'
{
tdCom
.
getLongName
(
7
,
"letters"
)
}
1626006833639000000ns L"abc aaa" t0=t'
input_sql3
=
f
'
{
tdCom
.
getLongName
(
7
,
"letters"
)
}
1626006833639000000ns t t0="abc aaa"'
input_sql4
=
f
'
{
tdCom
.
getLongName
(
7
,
"letters"
)
}
1626006833639000000ns t t0=L"abc aaa"'
for
input_sql
in
[
input_sql1
,
input_sql2
,
input_sql3
,
input_sql4
]:
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
pass
# check accepted binary and nchar symbols
# # * ~!@#$¥%^&*()-+={}|[]、「」:;
for
symbol
in
list
(
'~!@#$¥%^&*()-+={}|[]、「」:;'
):
input_sql1
=
f
'
{
stb_name
}
1626006833639000000ns "abc
{
symbol
}
aaa" t0=t'
input_sql2
=
f
'
{
stb_name
}
1626006833639000000ns t t0=t,t1="abc
{
symbol
}
aaa"'
input_sql1
=
f
'
{
tdCom
.
getLongName
(
7
,
"letters"
)
}
1626006833639000000ns "abc
{
symbol
}
aaa" t0=t'
input_sql2
=
f
'
{
tdCom
.
getLongName
(
7
,
"letters"
)
}
1626006833639000000ns t t0=t,t1="abc
{
symbol
}
aaa"'
self
.
_conn
.
insert_telnet_lines
([
input_sql1
])
self
.
_conn
.
insert_telnet_lines
([
input_sql2
])
...
...
@@ -756,6 +754,7 @@ class TDTestCase:
"""
case no id when stb exist
"""
print
(
"noIdStbExistCheckCase"
)
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
"sub_table_0123456"
,
t0
=
"f"
,
value
=
"f"
)
self
.
resCmp
(
input_sql
,
stb_name
)
...
...
@@ -779,22 +778,24 @@ class TDTestCase:
"""
check length increase
"""
print
(
"tagColBinaryNcharLengthCheckCase"
)
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
self
.
resCmp
(
input_sql
,
stb_name
)
tb_name
=
tdCom
.
getLongName
(
5
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
"
\"
binaryTagValuebinaryTagValue
\"
"
,
t8
=
"L
\"
ncharTagValuencharTagValue
\"
"
,
c7
=
"
\"
binaryTagValuebinaryTagValue
\"
"
,
c8
=
"L
\"
ncharTagValuencharTagValue
\"
"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
"
\"
binaryTagValuebinaryTagValue
\"
"
,
t8
=
"L
\"
ncharTagValuencharTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
,
condition
=
f
'where tbname like "
{
tb_name
}
"'
)
def
tagColAddDupIDCheckCase
(
self
):
"""
check
column and
tag count add, stb and tb duplicate
check tag count add, stb and tb duplicate
* tag: alter table ...
* col: when update==0 and ts is same, unchange
* so this case tag&&value will be added,
* col is added without value when update==0
* col is added with value when update==1
"""
print
(
"tagColAddDupIDCheckCase"
)
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
for
db_update_tag
in
[
0
,
1
]:
...
...
@@ -802,25 +803,27 @@ class TDTestCase:
self
.
createDb
(
"test_update"
,
db_update_tag
=
db_update_tag
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
t0
=
"f"
,
value
=
"f"
)
self
.
resCmp
(
input_sql
,
stb_name
)
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t0
=
"f"
,
value
=
"f"
,
c
t_add_tag
=
True
)
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t0
=
"f"
,
value
=
"f"
,
t_add_tag
=
True
)
if
db_update_tag
==
1
:
self
.
resCmp
(
input_sql
,
stb_name
,
condition
=
f
'where tbname like "
{
tb_name
}
"'
)
else
:
self
.
resCmp
(
input_sql
,
stb_name
,
condition
=
f
'where tbname like "
{
tb_name
}
"'
,
none_check_tag
=
True
)
self
.
createDb
()
def
tagColAddCheckCase
(
self
):
"""
check
column and
tag count add
check tag count add
"""
print
(
"tagColAddCheckCase"
)
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
t0
=
"f"
,
value
=
"f"
)
self
.
resCmp
(
input_sql
,
stb_name
)
tb_name_1
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name_1
,
t0
=
"f"
,
value
=
"f"
,
c
t_add_tag
=
True
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name_1
,
t0
=
"f"
,
value
=
"f"
,
t_add_tag
=
True
)
self
.
resCmp
(
input_sql
,
stb_name
,
condition
=
f
'where tbname like "
{
tb_name_1
}
"'
)
res_row_list
=
self
.
resHandle
(
f
"select
c10,c11,
t10,t11 from
{
tb_name
}
"
,
True
)[
0
]
tdSql
.
checkEqual
(
res_row_list
[
0
],
[
'None'
,
'None'
,
'None'
,
'None'
])
res_row_list
=
self
.
resHandle
(
f
"select t10,t11 from
{
tb_name
}
"
,
True
)[
0
]
tdSql
.
checkEqual
(
res_row_list
[
0
],
[
'None'
,
'None'
])
self
.
resCmp
(
input_sql
,
stb_name
,
condition
=
f
'where tbname like "
{
tb_name
}
"'
,
none_check_tag
=
True
)
def
tagMd5Check
(
self
):
...
...
@@ -838,7 +841,7 @@ class TDTestCase:
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkEqual
(
tb_name1
,
tb_name2
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t0
=
"f"
,
value
=
"f"
,
id_noexist_tag
=
True
,
c
t_add_tag
=
True
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t0
=
"f"
,
value
=
"f"
,
id_noexist_tag
=
True
,
t_add_tag
=
True
)
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
tb_name3
=
self
.
getNoIdTbName
(
stb_name
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
...
...
@@ -853,16 +856,17 @@ class TDTestCase:
tdCom
.
cleanTb
()
stb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
tb_name
=
f
'
{
stb_name
}
_1'
input_sql
=
f
'
{
stb_name
}
,id="
{
tb_name
}
",t0=t c0=f 1626006833639000000ns'
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns f id="
{
tb_name
}
",t0=t'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
# * 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 1626006833639000000ns
'
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns f t0=t,t1="
{
tdCom
.
getLongName
(
16374
,
"letters"
)
}
",t2="
{
tdCom
.
getLongName
(
5
,
"letters"
)
}
"
'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
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 1626006833639000000ns
'
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns f t0=t,t1="
{
tdCom
.
getLongName
(
16374
,
"letters"
)
}
",t2="
{
tdCom
.
getLongName
(
6
,
"letters"
)
}
"
'
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -871,21 +875,6 @@ class TDTestCase:
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
(
16374
,
"letters"
)
}
",c2="
{
tdCom
.
getLongName
(
16374
,
"letters"
)
}
",c3="
{
tdCom
.
getLongName
(
16374
,
"letters"
)
}
",c4="
{
tdCom
.
getLongName
(
12
,
"letters"
)
}
" 1626006833639000000ns'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
3
)
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
(
13
,
"letters"
)
}
" 1626006833639000000ns'
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
3
)
# * tag nchar max is 16374/4, col+ts nchar max 49151
def
tagColNcharMaxLengthCheckCase
(
self
):
"""
...
...
@@ -894,15 +883,15 @@ class TDTestCase:
tdCom
.
cleanTb
()
stb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
tb_name
=
f
'
{
stb_name
}
_1'
input_sql
=
f
'
{
stb_name
}
,id="
{
tb_name
}
",t0=t c0=f 1626006833639000000ns
'
code
=
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns f id="
{
tb_name
}
",t0=t
'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
# * 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 1626006833639000000ns
'
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns f t0=t,t1=L"
{
tdCom
.
getLongName
(
4093
,
"letters"
)
}
",t2=L"
{
tdCom
.
getLongName
(
1
,
"letters"
)
}
"
'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
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 1626006833639000000ns
'
input_sql
=
f
'
{
stb_name
}
1626006833639000000ns f t0=t,t1=L"
{
tdCom
.
getLongName
(
4093
,
"letters"
)
}
",t2=L"
{
tdCom
.
getLongName
(
2
,
"letters"
)
}
"
'
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
...
...
@@ -911,19 +900,6 @@ class TDTestCase:
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"
)
}
" 1626006833639000000ns'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
3
)
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
(
5
,
"letters"
)
}
" 1626006833639000000ns'
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
3
)
def
batchInsertCheckCase
(
self
):
"""
test batch insert
...
...
@@ -931,17 +907,24 @@ class TDTestCase:
tdCom
.
cleanTb
()
stb_name
=
tdCom
.
getLongName
(
8
,
"letters"
)
tdSql
.
execute
(
f
'create stable
{
stb_name
}
(ts timestamp, f int) tags(t1 bigint)'
)
lines
=
[
"st123456,t1=3i64,t2=4f64,t3=
\"
t3
\"
c1=3i64,c3=L
\"
passit
\"
,c2=false,c4=4f64 1626006833639000000ns"
,
"st123456,t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64 c1=3i64,c3=L
\"
passitagin
\"
,c2=true,c4=5f64,c5=5f64 1626006833640000000ns"
,
f
"
{
stb_name
}
,t2=5f64,t3=L
\"
ste
\"
c1=true,c2=4i64,c3=
\"
iam
\"
1626056811823316532ns"
,
"stf567890,t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64 c1=3i64,c3=L
\"
passitagin
\"
,c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000ns"
,
"st123456,t1=4i64,t2=5f64,t3=
\"
t4
\"
c1=3i64,c3=L
\"
passitagain
\"
,c2=true,c4=5f64 1626006833642000000ns"
,
f
"
{
stb_name
}
,t2=5f64,t3=L
\"
ste2
\"
c3=
\"
iamszhou
\"
,c4=false 1626056811843316532ns"
,
f
"
{
stb_name
}
,t2=5f64,t3=L
\"
ste2
\"
c3=
\"
iamszhou
\"
,c4=false,c5=32i8,c6=64i16,c7=32i32,c8=88.88f32 1626056812843316532ns"
,
"st123456,t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64 c1=3i64,c3=L
\"
passitagin
\"
,c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000ns"
,
"st123456,t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64 c1=3i64,c3=L
\"
passitagin_stf
\"
,c2=false,c5=5f64,c6=7u64 1626006933641000000ns"
lines
=
[
"st123456 1626006833639000000ns 1i64 t1=3i64,t2=4f64,t3=
\"
t3
\"
"
,
"st123456 1626006833640000000ns 2i64 t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64"
,
f
'
{
stb_name
}
1626056811823316532ns 3i64 t2=5f64,t3=L
\"
ste
\"
'
,
"stf567890 1626006933640000000ns 4i64 t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64"
,
"st123456 1626006833642000000ns 5i64 t1=4i64,t2=5f64,t3=
\"
t4
\"
"
,
f
'
{
stb_name
}
1626056811843316532ns 6i64 t2=5f64,t3=L
\"
ste2
\"
'
,
f
'
{
stb_name
}
1626056812843316532ns 7i64 t2=5f64,t3=L
\"
ste2
\"
'
,
"st123456 1626006933640000000ns 8i64 t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64"
,
"st123456 1626006933641000000ns 9i64 t1=4i64,t3=
\"
t4
\"
,t2=5f64,t4=5f64"
]
self
.
_conn
.
insert_telnet_lines
(
lines
)
tdSql
.
query
(
'show stables'
)
tdSql
.
checkRows
(
3
)
tdSql
.
query
(
'show tables'
)
tdSql
.
checkRows
(
6
)
tdSql
.
query
(
'select * from st123456'
)
tdSql
.
checkRows
(
5
)
def
multiInsertCheckCase
(
self
,
count
):
"""
...
...
@@ -952,9 +935,11 @@ class TDTestCase:
stb_name
=
tdCom
.
getLongName
(
8
,
"letters"
)
tdSql
.
execute
(
f
'create stable
{
stb_name
}
(ts timestamp, f int) tags(t1 bigint)'
)
for
i
in
range
(
count
):
input_sql
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
)[
0
]
input_sql
=
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
)[
0
]
sql_list
.
append
(
input_sql
)
self
.
_conn
.
insert_telnet_lines
(
sql_list
)
tdSql
.
query
(
'show tables'
)
tdSql
.
checkRows
(
1000
)
def
batchErrorInsertCheckCase
(
self
):
"""
...
...
@@ -962,14 +947,86 @@ class TDTestCase:
"""
tdCom
.
cleanTb
()
stb_name
=
tdCom
.
getLongName
(
8
,
"letters"
)
lines
=
[
"st123456
,t1=3i64,t2=4f64,t3=
\"
t3
\"
c1=3i64,c3=L
\"
passit
\"
,c2=false,c4=4f64 1626006833639000000ns
"
,
f
"
{
stb_name
}
,t2=5f64,t3=L
\"
ste
\"
c1=tRue,c2=4i64,c3=
\"
iam
\"
1626056811823316532ns
"
]
lines
=
[
"st123456
1626006833639000000ns 3i64 t1=3i64,t2=4f64,t3=
\"
t3
\"
"
,
f
"
{
stb_name
}
1626056811823316532ns tRue t2=5f64,t3=L
\"
ste
\"
"
]
try
:
self
.
_conn
.
insert_telnet_lines
(
lines
)
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
def
multiColsInsertCheckCase
(
self
):
"""
test multi cols insert
"""
tdCom
.
cleanTb
()
input_sql
=
self
.
genFullTypeSql
(
t_multi_tag
=
True
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
def
blankColInsertCheckCase
(
self
):
"""
test blank col insert
"""
tdCom
.
cleanTb
()
input_sql
=
self
.
genFullTypeSql
(
c_blank_tag
=
True
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
def
blankTagInsertCheckCase
(
self
):
"""
test blank tag insert
"""
tdCom
.
cleanTb
()
input_sql
=
self
.
genFullTypeSql
(
t_blank_tag
=
True
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
def
chineseCheckCase
(
self
):
"""
check nchar ---> chinese
"""
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
chinese_tag
=
True
)
self
.
resCmp
(
input_sql
,
stb_name
)
def
multiFieldCheckCase
(
self
):
'''
multi_field
'''
tdCom
.
cleanTb
()
input_sql
=
self
.
genFullTypeSql
(
multi_field_tag
=
True
)[
0
]
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
def
errorTypeCheckCase
(
self
):
stb_name
=
tdCom
.
getLongName
(
8
,
"letters"
)
input_sql_list
=
[
f
'
{
stb_name
}
0 "hkgjiwdj" t0=f,t1=127I8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
,
\
f
'
{
stb_name
}
0 "hkgjiwdj" t0=f,t1=127i8,t2=32767I16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
,
\
f
'
{
stb_name
}
0 "hkgjiwdj" t0=f,t1=127i8,t2=32767i16,t3=2147483647I32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
,
\
f
'
{
stb_name
}
0 "hkgjiwdj" t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807I64,t5=11.12345f32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
,
\
f
'
{
stb_name
}
0 "hkgjiwdj" t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345F32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
,
\
f
'
{
stb_name
}
0 "hkgjiwdj" t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789F64,t7="vozamcts",t8=L"ncharTagValue"'
,
\
f
'
{
stb_name
}
1626006833639000000NS "hkgjiwdj" t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
]
for
input_sql
in
input_sql_list
:
try
:
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
raise
Exception
(
"should not reach here"
)
except
LinesError
as
err
:
tdSql
.
checkNotEqual
(
err
.
errno
,
0
)
def
genSqlList
(
self
,
count
=
5
,
stb_name
=
""
,
tb_name
=
""
):
"""
stb --> supertable
...
...
@@ -984,36 +1041,36 @@ class TDTestCase:
"""
d_stb_d_tb_list
=
list
()
s_stb_s_tb_list
=
list
()
s_stb_s_tb_a_
col_a_
tag_list
=
list
()
s_stb_s_tb_m_
col_m_
tag_list
=
list
()
s_stb_s_tb_a_tag_list
=
list
()
s_stb_s_tb_m_tag_list
=
list
()
s_stb_d_tb_list
=
list
()
s_stb_d_tb_
a_col_
m_tag_list
=
list
()
s_stb_d_tb_a_tag_
m_col_
list
=
list
()
s_stb_d_tb_m_tag_list
=
list
()
s_stb_d_tb_a_tag_list
=
list
()
s_stb_s_tb_d_ts_list
=
list
()
s_stb_s_tb_d_ts_
a_col_
m_tag_list
=
list
()
s_stb_s_tb_d_ts_a_tag_
m_col_
list
=
list
()
s_stb_s_tb_d_ts_m_tag_list
=
list
()
s_stb_s_tb_d_ts_a_tag_list
=
list
()
s_stb_d_tb_d_ts_list
=
list
()
s_stb_d_tb_d_ts_
a_col_
m_tag_list
=
list
()
s_stb_d_tb_d_ts_a_tag_
m_col_
list
=
list
()
s_stb_d_tb_d_ts_m_tag_list
=
list
()
s_stb_d_tb_d_ts_a_tag_list
=
list
()
for
i
in
range
(
count
):
d_stb_d_tb_list
.
append
(
self
.
genFullTypeSql
(
t0
=
"f"
,
c0
=
"f"
))
s_stb_s_tb_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
))
s_stb_s_tb_a_
col_a_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c
t_add_tag
=
True
))
s_stb_s_tb_m_
col_m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ct_min
_tag
=
True
))
s_stb_d_tb_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
))
s_stb_d_tb_
a_col_m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ct_am
_tag
=
True
))
s_stb_d_tb_a_tag_
m_col_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ct_ma
_tag
=
True
))
s_stb_s_tb_d_ts_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ts
=
0
))
s_stb_s_tb_d_ts_
a_col_m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ts
=
0
,
ct_am
_tag
=
True
))
s_stb_s_tb_d_ts_a_tag_
m_col_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ts
=
0
,
ct_ma
_tag
=
True
))
s_stb_d_tb_d_ts_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ts
=
0
))
s_stb_d_tb_d_ts_
a_col_m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ts
=
0
,
ct_am
_tag
=
True
))
s_stb_d_tb_d_ts_a_tag_
m_col_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
c7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ts
=
0
,
ct_ma
_tag
=
True
))
return
d_stb_d_tb_list
,
s_stb_s_tb_list
,
s_stb_s_tb_a_
col_a_tag_list
,
s_stb_s_tb_m_col
_m_tag_list
,
\
s_stb_d_tb_list
,
s_stb_d_tb_
a_col_m_tag_list
,
s_stb_d_tb_a_tag_m_col
_list
,
s_stb_s_tb_d_ts_list
,
\
s_stb_s_tb_d_ts_
a_col_m_tag_list
,
s_stb_s_tb_d_ts_a_tag_m_col
_list
,
s_stb_d_tb_d_ts_list
,
\
s_stb_d_tb_d_ts_
a_col_m_tag_list
,
s_stb_d_tb_d_ts_a_tag_m_col
_list
d_stb_d_tb_list
.
append
(
self
.
genFullTypeSql
(
t0
=
"f"
,
value
=
"f"
))
s_stb_s_tb_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
))
s_stb_s_tb_a_
tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
t_add_tag
=
True
))
s_stb_s_tb_m_
tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
t_mul
_tag
=
True
))
s_stb_d_tb_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
))
s_stb_d_tb_
m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
t_mul
_tag
=
True
))
s_stb_d_tb_a_tag_
list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
t_add
_tag
=
True
))
s_stb_s_tb_d_ts_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ts
=
0
))
s_stb_s_tb_d_ts_
m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ts
=
0
,
t_mul
_tag
=
True
))
s_stb_s_tb_d_ts_a_tag_
list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
tb_name
=
tb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
ts
=
0
,
t_add
_tag
=
True
))
s_stb_d_tb_d_ts_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ts
=
0
))
s_stb_d_tb_d_ts_
m_tag_list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ts
=
0
,
t_mul
_tag
=
True
))
s_stb_d_tb_d_ts_a_tag_
list
.
append
(
self
.
genFullTypeSql
(
stb_name
=
stb_name
,
t7
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
value
=
f
'"
{
tdCom
.
getLongName
(
8
,
"letters"
)
}
"'
,
id_noexist_tag
=
True
,
ts
=
0
,
t_add
_tag
=
True
))
return
d_stb_d_tb_list
,
s_stb_s_tb_list
,
s_stb_s_tb_a_
tag_list
,
s_stb_s_tb
_m_tag_list
,
\
s_stb_d_tb_list
,
s_stb_d_tb_
m_tag_list
,
s_stb_d_tb_a_tag
_list
,
s_stb_s_tb_d_ts_list
,
\
s_stb_s_tb_d_ts_
m_tag_list
,
s_stb_s_tb_d_ts_a_tag
_list
,
s_stb_d_tb_d_ts_list
,
\
s_stb_d_tb_d_ts_
m_tag_list
,
s_stb_d_tb_d_ts_a_tag
_list
def
genMultiThreadSeq
(
self
,
sql_list
):
...
...
@@ -1045,7 +1102,7 @@ class TDTestCase:
"""
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_s_tb_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
1
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_list
))
...
...
@@ -1056,16 +1113,16 @@ class TDTestCase:
tdSql
.
query
(
f
"select * from
{
stb_name
}
;"
)
tdSql
.
checkRows
(
1
)
def
sStbStbDdataAt
c
InsertMultiThreadCheckCase
(
self
):
def
sStbStbDdataAtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb tb, different data, add columes and tags, result keep first data
"""
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_s_tb_a_
col_a_
tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
2
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_a_
col_a_
tag_list
))
s_stb_s_tb_a_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
2
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_a_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
1
)
expected_tb_name
=
self
.
getNoIdTbName
(
stb_name
)[
0
]
...
...
@@ -1073,16 +1130,16 @@ class TDTestCase:
tdSql
.
query
(
f
"select * from
{
stb_name
}
;"
)
tdSql
.
checkRows
(
1
)
def
sStbStbDdataMt
c
InsertMultiThreadCheckCase
(
self
):
def
sStbStbDdataMtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb tb, different data, minus columes and tags, result keep first data
"""
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_s_tb_m_
col_m_
tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
3
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_m_
col_m_
tag_list
))
s_stb_s_tb_m_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
3
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_m_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
1
)
expected_tb_name
=
self
.
getNoIdTbName
(
stb_name
)[
0
]
...
...
@@ -1095,40 +1152,38 @@ class TDTestCase:
thread input same stb, different tb, different data
"""
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_d_tb_list
=
self
.
genSqlList
(
stb_name
=
stb_name
)[
4
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
6
)
def
sStbDtbDdataAcMtInsertMultiThreadCheckCase
(
self
):
"""
#! concurrency conflict
"""
def
sStbDtbDdataMtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb, different tb, different data, add col, mul tag
"""
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_d_tb_a_col_m_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
)[
5
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_a_col_m_tag_list
))
s_stb_d_tb_m_tag_list
=
[(
f
'
{
stb_name
}
1626006833639000000ns "omfdhyom" t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'yzwswz'
),
\
(
f
'
{
stb_name
}
1626006833639000000ns "vqowydbc" t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'yzwswz'
),
\
(
f
'
{
stb_name
}
1626006833639000000ns "plgkckpv" t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'yzwswz'
),
\
(
f
'
{
stb_name
}
1626006833639000000ns "cujyqvlj" t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'yzwswz'
),
\
(
f
'
{
stb_name
}
1626006833639000000ns "twjxisat" t0=T,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'yzwswz'
)]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_m_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
6
)
tdSql
.
checkRows
(
3
)
def
sStbDtbDdataAtMcInsertMultiThreadCheckCase
(
self
):
"""
#! concurrency conflict
"""
def
sStbDtbDdataAtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb, different tb, different data, add tag, mul col
"""
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_d_tb_a_tag_
m_col_
list
=
self
.
genSqlList
(
stb_name
=
stb_name
)[
6
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_a_tag_
m_col_
list
))
s_stb_d_tb_a_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
)[
6
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_a_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
6
)
...
...
@@ -1138,89 +1193,94 @@ class TDTestCase:
"""
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_s_tb_d_ts_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
7
]
s_stb_s_tb_d_ts_list
=
[(
f
'
{
stb_name
}
0 "hkgjiwdj" id="
{
tb_name
}
",t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="vozamcts",t8=L"ncharTagValue"'
,
'dwpthv'
),
\
(
f
'
{
stb_name
}
0 "rljjrrul" id="
{
tb_name
}
",t0=False,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="bmcanhbs",t8=L"ncharTagValue"'
,
'dwpthv'
),
\
(
f
'
{
stb_name
}
0 "basanglx" id="
{
tb_name
}
",t0=False,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="enqkyvmb",t8=L"ncharTagValue"'
,
'dwpthv'
),
\
(
f
'
{
stb_name
}
0 "clsajzpp" id="
{
tb_name
}
",t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="eivaegjk",t8=L"ncharTagValue"'
,
'dwpthv'
),
\
(
f
'
{
stb_name
}
0 "jitwseso" id="
{
tb_name
}
",t0=T,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="yhlwkddq",t8=L"ncharTagValue"'
,
'dwpthv'
)]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_d_ts_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
6
)
def
sStbStbDdataDts
Ac
MtInsertMultiThreadCheckCase
(
self
):
def
sStbStbDdataDtsMtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb tb, different ts, add col, mul tag
"""
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_s_tb_d_ts_
a_col_
m_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
8
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_d_ts_
a_col_
m_tag_list
))
s_stb_s_tb_d_ts_m_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
8
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_d_ts_m_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
6
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
where t8 is not NULL"
)
tdSql
.
checkRows
(
6
)
tdSql
.
query
(
f
"select * from
{
tb_name
}
where c11 is not NULL;"
)
tdSql
.
checkRows
(
5
)
def
sStbStbDdataDtsAt
Mc
InsertMultiThreadCheckCase
(
self
):
def
sStbStbDdataDtsAtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb tb, different ts, add tag, mul col
"""
tdCom
.
cleanTb
()
tb_name
=
tdCom
.
getLongName
(
7
,
"letters"
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
)
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
tb_name
=
tb_name
,
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_s_tb_d_ts_a_tag_m_col_list
=
self
.
genSqlList
(
stb_name
=
stb_name
,
tb_name
=
tb_name
)[
9
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_d_ts_a_tag_m_col_list
))
s_stb_s_tb_d_ts_a_tag_list
=
[(
f
'
{
stb_name
}
0 "clummqfy" id="
{
tb_name
}
",t0=False,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="hpxzrdiw",t8=L"ncharTagValue",t11=127i8,t10=L"ncharTagValue"'
,
'bokaxl'
),
\
(
f
'
{
stb_name
}
0 "yqeztggb" id="
{
tb_name
}
",t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="gdtblmrc",t8=L"ncharTagValue",t11=127i8,t10=L"ncharTagValue"'
,
'bokaxl'
),
\
(
f
'
{
stb_name
}
0 "gbkinqdk" id="
{
tb_name
}
",t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="iqniuvco",t8=L"ncharTagValue",t11=127i8,t10=L"ncharTagValue"'
,
'bokaxl'
),
\
(
f
'
{
stb_name
}
0 "ldxxejbd" id="
{
tb_name
}
",t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="vxkipags",t8=L"ncharTagValue",t11=127i8,t10=L"ncharTagValue"'
,
'bokaxl'
),
\
(
f
'
{
stb_name
}
0 "tlvzwjes" id="
{
tb_name
}
",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="enwrlrtj",t8=L"ncharTagValue",t11=127i8,t10=L"ncharTagValue"'
,
'bokaxl'
)]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_s_tb_d_ts_a_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select * from
{
stb_name
}
"
)
tdSql
.
checkRows
(
6
)
for
c
in
[
"c7"
,
"c8"
,
"c9"
]:
tdSql
.
query
(
f
"select * from
{
stb_name
}
where
{
c
}
is NULL"
)
tdSql
.
checkRows
(
5
)
for
t
in
[
"t10"
,
"t11"
]:
tdSql
.
query
(
f
"select * from
{
stb_name
}
where
{
t
}
is not NULL;"
)
tdSql
.
checkRows
(
6
)
tdSql
.
checkRows
(
0
)
def
sStbDtbDdataDtsInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb, different tb, data, ts
"""
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_d_tb_d_ts_list
=
self
.
genSqlList
(
stb_name
=
stb_name
)[
10
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_d_ts_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
6
)
def
sStbDtbDdataDtsAcMtInsertMultiThreadCheckCase
(
self
):
"""
# ! concurrency conflict
"""
def
sStbDtbDdataDtsMtInsertMultiThreadCheckCase
(
self
):
"""
thread input same stb, different tb, data, ts, add col, mul tag
"""
tdCom
.
cleanTb
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
input_sql
,
stb_name
=
self
.
genFullTypeSql
(
value
=
"
\"
binaryTagValue
\"
"
)
self
.
resCmp
(
input_sql
,
stb_name
)
s_stb_d_tb_d_ts_a_col_m_tag_list
=
self
.
genSqlList
(
stb_name
=
stb_name
)[
11
]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_d_ts_a_col_m_tag_list
))
s_stb_d_tb_d_ts_m_tag_list
=
[(
f
'
{
stb_name
}
0 "mnpmtzul" t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'pcppkg'
),
\
(
f
'
{
stb_name
}
0 "zbvwckcd" t0=True,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'pcppkg'
),
\
(
f
'
{
stb_name
}
0 "vymcjfwc" t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'pcppkg'
),
\
(
f
'
{
stb_name
}
0 "laumkwfn" t0=False,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'pcppkg'
),
\
(
f
'
{
stb_name
}
0 "nyultzxr" t0=false,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
,
'pcppkg'
)]
self
.
multiThreadRun
(
self
.
genMultiThreadSeq
(
s_stb_d_tb_d_ts_m_tag_list
))
tdSql
.
query
(
f
"show tables;"
)
tdSql
.
checkRows
(
6
)
tdSql
.
checkRows
(
3
)
def
test
(
self
):
# input_sql1 = "stb2_5 1626006833610ms 3f64 host=\"host0\",host2=L\"host2\""
# input_sql2 = "rfasta,id=\"rfasta_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64 c0=True,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64 1626006933640000000ns"
try
:
input_sql
,
stb_name
=
self
.
genFullTypeSql
()
self
.
resCmp
(
input_sql
,
stb_name
)
input_sql
=
f
'test_nchar 0 L"涛思数据" t0=f,t1=L"涛思数据",t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64'
self
.
_conn
.
insert_telnet_lines
([
input_sql
])
# input_sql, stb_name = self.genFullTypeSql()
# self.resCmp(input_sql, stb_name)
except
LinesError
as
err
:
print
(
err
.
errno
)
# self._conn.insert_telnet_lines([input_sql2])
...
...
@@ -1232,68 +1292,64 @@ class TDTestCase:
# self._conn.insert_telnet_lines([input_sql4])
def
runAll
(
self
):
# self.initCheckCase()
# self.boolTypeCheckCase()
self
.
symbolsCheckCase
()
# self.tsCheckCase()
# self.idSeqCheckCase()
# self.idUpperCheckCase()
# self.noIdCheckCase()
# self.maxColTagCheckCase()
# self.idIllegalNameCheckCase()
# self.idStartWithNumCheckCase()
# self.nowTsCheckCase()
# self.dateFormatTsCheckCase()
# self.illegalTsCheckCase()
# self.tagValueLengthCheckCase()
# self.colValueLengthCheckCase()
# self.tagColIllegalValueCheckCase()
# self.duplicateIdTagColInsertCheckCase()
# self.noIdStbExistCheckCase()
# self.duplicateInsertExistCheckCase()
# self.tagColBinaryNcharLengthCheckCase()
# self.tagColAddDupIDCheckCase()
# self.tagColAddCheckCase()
# self.tagMd5Check()
# self.tagColBinaryMaxLengthCheckCase()
# # self.tagColNcharMaxLengthCheckCase()
# self.batchInsertCheckCase()
# self.multiInsertCheckCase(1000)
# self.batchErrorInsertCheckCase()
# # MultiThreads
self
.
initCheckCase
()
self
.
boolTypeCheckCase
()
# ! leave a bug
#self.symbolsCheckCase()
self
.
tsCheckCase
()
self
.
idSeqCheckCase
()
self
.
idUpperCheckCase
()
self
.
noIdCheckCase
()
self
.
maxColTagCheckCase
()
self
.
idIllegalNameCheckCase
()
self
.
idStartWithNumCheckCase
()
self
.
nowTsCheckCase
()
self
.
dateFormatTsCheckCase
()
self
.
illegalTsCheckCase
()
self
.
tagValueLengthCheckCase
()
self
.
colValueLengthCheckCase
()
self
.
tagColIllegalValueCheckCase
()
self
.
duplicateIdTagColInsertCheckCase
()
self
.
noIdStbExistCheckCase
()
self
.
duplicateInsertExistCheckCase
()
self
.
tagColBinaryNcharLengthCheckCase
()
self
.
tagColAddDupIDCheckCase
()
self
.
tagColAddCheckCase
()
self
.
tagMd5Check
()
self
.
tagColBinaryMaxLengthCheckCase
()
self
.
tagColNcharMaxLengthCheckCase
()
self
.
batchInsertCheckCase
()
self
.
multiInsertCheckCase
(
1000
)
self
.
batchErrorInsertCheckCase
()
self
.
multiColsInsertCheckCase
()
self
.
blankColInsertCheckCase
()
self
.
blankTagInsertCheckCase
()
self
.
chineseCheckCase
()
self
.
multiFieldCheckCase
()
self
.
errorTypeCheckCase
()
# MultiThreads
# self.stbInsertMultiThreadCheckCase()
# self.sStbStbDdataInsertMultiThreadCheckCase()
# self.sStbStbDdataAt
c
InsertMultiThreadCheckCase()
# self.sStbStbDdataMt
c
InsertMultiThreadCheckCase()
# self.sStbStbDdataAtInsertMultiThreadCheckCase()
# self.sStbStbDdataMtInsertMultiThreadCheckCase()
# self.sStbDtbDdataInsertMultiThreadCheckCase()
# # # ! concurrency conflict
# # self.sStbDtbDdataAcMtInsertMultiThreadCheckCase()
# # self.sStbDtbDdataAtMcInsertMultiThreadCheckCase()
# self.sStbDtbDdataMtInsertMultiThreadCheckCase()
# self.sStbDtbDdataAtInsertMultiThreadCheckCase()
# self.sStbStbDdataDtsInsertMultiThreadCheckCase()
# # # ! concurrency conflict
# # self.sStbStbDdataDtsAcMtInsertMultiThreadCheckCase()
# # self.sStbStbDdataDtsAtMcInsertMultiThreadCheckCase()
# self.sStbStbDdataDtsMtInsertMultiThreadCheckCase()
# self.sStbStbDdataDtsAtInsertMultiThreadCheckCase()
# self.sStbDtbDdataDtsInsertMultiThreadCheckCase()
# # ! concurrency conflict
# # self.sStbDtbDdataDtsAcMtInsertMultiThreadCheckCase()
# self.sStbDtbDdataDtsMtInsertMultiThreadCheckCase()
def
run
(
self
):
print
(
"running {}"
.
format
(
__file__
))
self
.
createDb
()
try
:
# self.symbolsCheckCase()
self
.
runAll
()
# self.test()
except
Exception
as
err
:
print
(
''
.
join
(
traceback
.
format_exception
(
None
,
err
,
err
.
__traceback__
)))
raise
err
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录