add multi thread

This commit is contained in:
jiajingbin 2021-07-24 15:38:35 +08:00
parent cb7e26845b
commit 7b883b2637
1 changed files with 113 additions and 52 deletions

View File

@ -461,7 +461,7 @@ class TDTestCase:
check full type tag value limit check full type tag value limit
""" """
# i8 # i8
for t1 in ["-127i8"]: for t1 in ["-127i8", "127i8"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(t1=t1) input_sql, stb_name, tb_name = self.genFullTypeSql(t1=t1)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
for t1 in ["-128i8", "128i8"]: for t1 in ["-128i8", "128i8"]:
@ -470,7 +470,7 @@ class TDTestCase:
tdSql.checkNotEqual(code, 0) tdSql.checkNotEqual(code, 0)
#i16 #i16
for t2 in ["-32767i16"]: for t2 in ["-32767i16", "32767i16"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(t2=t2) input_sql, stb_name, tb_name = self.genFullTypeSql(t2=t2)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
for t2 in ["-32768i16", "32768i16"]: for t2 in ["-32768i16", "32768i16"]:
@ -479,7 +479,7 @@ class TDTestCase:
tdSql.checkNotEqual(code, 0) tdSql.checkNotEqual(code, 0)
#i32 #i32
for t3 in ["-2147483647i32"]: for t3 in ["-2147483647i32", "2147483647i32"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(t3=t3) input_sql, stb_name, tb_name = self.genFullTypeSql(t3=t3)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
for t3 in ["-2147483648i32", "2147483648i32"]: for t3 in ["-2147483648i32", "2147483648i32"]:
@ -488,83 +488,136 @@ class TDTestCase:
tdSql.checkNotEqual(code, 0) tdSql.checkNotEqual(code, 0)
#i64 #i64
for t4 in ["-9223372036854775807i64"]: for t4 in ["-9223372036854775807i64", "9223372036854775807i64"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(t4=t4) input_sql, stb_name, tb_name = self.genFullTypeSql(t4=t4)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
#! 9223372036854775808i64 failed
for t4 in ["-9223372036854775808i64", "9223372036854775808i64"]: for t4 in ["-9223372036854775808i64", "9223372036854775808i64"]:
input_sql = self.genFullTypeSql(t4=t4)[0] input_sql = self.genFullTypeSql(t4=t4)[0]
code = self._conn.insertLines([input_sql]) code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0) tdSql.checkNotEqual(code, 0)
# f32 # f32
# for t5 in ["-11.12345f32"]: for t5 in [f"{-3.4028234663852885981170418348451692544*(10**38)}f32", f"{3.4028234663852885981170418348451692544*(10**38)}f32"]:
# input_sql, stb_name, tb_name = self.genFullTypeSql(t5=t5) input_sql, stb_name, tb_name = self.genFullTypeSql(t5=t5)
# self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
# # TODO to confirm length # * limit set to 4028234664*(10**38)
# #for t5 in [f"{-3.4028234663852886*(10**38)-1}f32", f"{3.4028234663852886*(10**38)+1}f32"]: for t5 in [f"{-3.4028234664*(10**38)}f32", f"{3.4028234664*(10**38)}f32"]:
# for t5 in [f"{-3.4028234663852886*(10**38)-1}f32", f"{3.4028234663852886*(10**38)+1}f32"]: input_sql = self.genFullTypeSql(t5=t5)[0]
# print("tag2") code = self._conn.insertLines([input_sql])
# input_sql = self.genFullTypeSql(t5=t5)[0] tdSql.checkNotEqual(code, 0)
# print(input_sql)
# code = self._conn.insertLines([input_sql]) # f64 #!bug stack smashing detected ***: <unknown> terminated Aborted
# tdSql.checkNotEqual(code, 0) #for t6 in [f'{-1.79769313486231570814527423731704356798070567525844996598917476803157260780*(10**308)}f64', f'{-1.79769313486231570814527423731704356798070567525844996598917476803157260780*(10**308)}f64']:
# for t6 in [f'{-1.79769*(10**308)}f64', f'{-1.79769*(10**308)}f64']:
# # f64 # print("f64?")
# for t6 in ["-22.123456789f64"]:
# input_sql, stb_name, tb_name = self.genFullTypeSql(t6=t6) # input_sql, stb_name, tb_name = self.genFullTypeSql(t6=t6)
# self.resCmp(input_sql, stb_name) # self.resCmp(input_sql, stb_name)
# TODO to confirm length # TODO to confirm length
# TODO binary nchar # binary
stb_name = self.getLongName(7, "letters")
input_sql = f'{stb_name},t0=t,t1="{self.getLongName(16374, "letters")}" c0=f 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkEqual(code, 0)
input_sql = f'{stb_name},t0=t,t1="{self.getLongName(16375, "letters")}" c0=f 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0)
# nchar
# * legal nchar could not be larger than 16374/4
stb_name = self.getLongName(7, "letters")
input_sql = f'{stb_name},t0=t,t1=L"{self.getLongName(4093, "letters")}" c0=f 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkEqual(code, 0)
input_sql = f'{stb_name},t0=t,t1=L"{self.getLongName(4094, "letters")}" c0=f 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0)
def colValueLengthCheckCase(self): def colValueLengthCheckCase(self):
""" """
check full type col value limit check full type col value limit
""" """
# i8 # i8
for c1 in ["-127i8"]: for c1 in ["-127i8", "127i8"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(c1=c1) input_sql, stb_name, tb_name = self.genFullTypeSql(c1=c1)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
# TODO to confirm for c1 in ["-128i8", "128i8"]:
# for c1 in ["-131i8", "129i8"]: input_sql = self.genFullTypeSql(c1=c1)[0]
# input_sql = self.genFullTypeSql(c1=c1)[0]
# print(input_sql)
# code = self._conn.insertLines([input_sql])
# tdSql.checkNotEqual(code, 0)
#i16
for c2 in ["-32767i16"]:
print("tag1")
input_sql, stb_name, tb_name = self.genFullTypeSql(c2=c2)
self.resCmp(input_sql, stb_name)
for c2 in ["-32768i16", "32768i16"]:
input_sql = self.genFullTypeSql(c2=c2)[0]
print(input_sql) print(input_sql)
code = self._conn.insertLines([input_sql]) code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0) tdSql.checkNotEqual(code, 0)
#i32 # i16
for c2 in ["-32767i16"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(c2=c2)
self.resCmp(input_sql, stb_name)
for c2 in ["-32768i16", "32768i16"]:
input_sql = self.genFullTypeSql(c2=c2)[0]
code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0)
# i32
for c3 in ["-2147483647i32"]: for c3 in ["-2147483647i32"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(c3=c3) input_sql, stb_name, tb_name = self.genFullTypeSql(c3=c3)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
for c3 in ["-2147483650i32", "2147483648i32"]: for c3 in ["-2147483648i32", "2147483648i32"]:
input_sql = self.genFullTypeSql(c3=c3)[0] input_sql = self.genFullTypeSql(c3=c3)[0]
code = self._conn.insertLines([input_sql]) code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0) tdSql.checkNotEqual(code, 0)
#i64 # i64
for c4 in ["-9223372036854775807i64"]: for c4 in ["-9223372036854775807i64"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(c4=c4) input_sql, stb_name, tb_name = self.genFullTypeSql(c4=c4)
self.resCmp(input_sql, stb_name) self.resCmp(input_sql, stb_name)
# ! 9223372036854775808i64 failed for c4 in ["-9223372036854775808i64", "9223372036854775808i64"]:
# !for c4 in ["-9223372036854775808i64", "9223372036854775808i64"]: input_sql = self.genFullTypeSql(c4=c4)[0]
# ! input_sql = self.genFullTypeSql(c4=c4)[0] code = self._conn.insertLines([input_sql])
# ! code = self._conn.insertLines([input_sql]) tdSql.checkNotEqual(code, 0)
# ! tdSql.checkNotEqual(code, 0)
# f32
for c5 in [f"{-3.4028234663852885981170418348451692544*(10**38)}f32", f"{3.4028234663852885981170418348451692544*(10**38)}f32"]:
input_sql, stb_name, tb_name = self.genFullTypeSql(c5=c5)
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]
code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0)
# f64
for c6 in [f'{-1.79769313486231570814527423731704356798070567525844996598917476803157260780*(10**308)}f64', f'{-1.79769313486231570814527423731704356798070567525844996598917476803157260780*(10**308)}f64']:
input_sql, stb_name, tb_name = self.genFullTypeSql(c6=c6)
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]
code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0)
# binary
stb_name = self.getLongName(7, "letters")
input_sql = f'{stb_name},t0=t c0=f,c1="{self.getLongName(16374, "letters")}" 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkEqual(code, 0)
# ! bug code is 0
# input_sql = f'{stb_name},t0=t c0=f,c1="{self.getLongName(16375, "letters")}" 1626006833639000000ns'
# code = self._conn.insertLines([input_sql])
# tdSql.checkNotEqual(code, 0)
# nchar
# * legal nchar could not be larger than 16374/4
stb_name = self.getLongName(7, "letters")
input_sql = f'{stb_name},t0=t c0=f,c1=L"{self.getLongName(4093, "letters")}" 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkEqual(code, 0)
input_sql = f'{stb_name},t0=t c0=f,c1=L"{self.getLongName(4094, "letters")}" 1626006833639000000ns'
code = self._conn.insertLines([input_sql])
tdSql.checkNotEqual(code, 0)
def tagColIllegalValueCheckCase(self): def tagColIllegalValueCheckCase(self):
""" """
test illegal tag col value test illegal tag col value
""" """
@ -804,14 +857,14 @@ class TDTestCase:
for i in range(count): for i in range(count):
d_stb_d_tb_list.append(self.genFullTypeSql(t0="f", c0="f")) d_stb_d_tb_list.append(self.genFullTypeSql(t0="f", c0="f"))
s_stb_s_tb_list.append(self.genFullTypeSql(t7=f'"{self.getLongName(8, "letters")}"', c7=f'{self.getLongName(8, "letters")}"')) s_stb_s_tb_list.append(self.genFullTypeSql(t7=f'"{self.getLongName(8, "letters")}"', c7=f'{self.getLongName(8, "letters")}"'))
s_stb_s_tb_a_col_a_tag_list.append(self.genFullTypeSql(t7=f'"{self.getLongName(8, "letters")}"', c7=f'{self.getLongName(8, "letters")}"'), ct_add_tag=True) s_stb_s_tb_a_col_a_tag_list.append(self.genFullTypeSql(t7=f'"{self.getLongName(8, "letters")}"', c7=f'{self.getLongName(8, "letters")}"', ct_add_tag=True))
s_stb_s_tb_m_col_m_tag_list.append(self.genFullTypeSql(t7=f'"{self.getLongName(8, "letters")}"', c7=f'{self.getLongName(8, "letters")}"'), ct_min_tag=True) s_stb_s_tb_m_col_m_tag_list.append(self.genFullTypeSql(t7=f'"{self.getLongName(8, "letters")}"', c7=f'{self.getLongName(8, "letters")}"', ct_min_tag=True))
return d_stb_d_tb_list, s_stb_s_tb_list, s_stb_s_tb_a_col_a_tag_list 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
def genMultiThreadSeq(self, sql_list): def genMultiThreadSeq(self, sql_list):
tlist = list() tlist = list()
for insert_sql in sql_list: for insert_sql in sql_list:
t = threading.Thread(target=self._conn.insertLines,args=insert_sql) t = threading.Thread(target=self._conn.insertLines,args=([insert_sql[0]],))
tlist.append(t) tlist.append(t)
return tlist return tlist
@ -819,10 +872,15 @@ class TDTestCase:
for t in tlist: for t in tlist:
t.start() t.start()
for t in tlist: for t in tlist:
t.join() tlist[t].join()
def stbInsertMultiThreadCheckCase(self): def stbInsertMultiThreadCheckCase(self):
pass """
thread input different stb
"""
input_sql = self.genSqlList()[0]
print(input_sql)
self.multiThreadRun(self.genMultiThreadSeq(input_sql))
def run(self): def run(self):
print("running {}".format(__file__)) print("running {}".format(__file__))
@ -846,10 +904,12 @@ class TDTestCase:
# self.nowTsCheckCase() # self.nowTsCheckCase()
# self.dateFormatTsCheckCase() # self.dateFormatTsCheckCase()
# self.illegalTsCheckCase() # self.illegalTsCheckCase()
self.tagValueLengthCheckCase()
# ! 问题很多 # ! confirm double
# ! self.colValueLengthCheckCase() # self.tagValueLengthCheckCase()
# ! bug
# self.colValueLengthCheckCase()
# self.tagColIllegalValueCheckCase() # self.tagColIllegalValueCheckCase()
@ -870,6 +930,7 @@ class TDTestCase:
# ! bug # ! bug
# self.batchErrorInsertCheckCase() # self.batchErrorInsertCheckCase()
self.stbInsertMultiThreadCheckCase()