提交 0c4c7853 编写于 作者: J jiacy-jcy

update

上级 99d7829d
......@@ -74,7 +74,7 @@ class TDTestCase:
# prepare data for vgroup 4
dbname = self.get_long_name(length=10, mode="letters")
stbname = self.get_long_name(length=5, mode="letters")
vgroup_num = 4
vgroup_num = 2
child_table_num = 20
tdSql.execute(f"create database if not exists {dbname} vgroups {vgroup_num}")
tdSql.execute(f'use {dbname}')
......@@ -103,7 +103,7 @@ class TDTestCase:
tdLog.info(f'This scene with {vgroups_num} vgroups is ok!')
continue
else:
tdLog.exit('This scene does not meet the requirements with {vgroups_num} vgroup!\n')
tdLog.exit(f'This scene does not meet the requirements with {vgroups_num} vgroup!\n')
for i in range(self.rowNum):
for j in range(child_table_num):
tdSql.execute(f"insert into {stbname}_{j} values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')"
......
......@@ -113,6 +113,7 @@ class TDTestCase:
dbname = self.get_long_name(length=10, mode="letters")
stbname = self.get_long_name(length=5, mode="letters")
child_table_num = 20
vgroup = 2
column_dict = {
'col1': 'tinyint',
'col2': 'smallint',
......@@ -128,7 +129,7 @@ class TDTestCase:
'col12': 'binary(20)',
'col13': 'nchar(20)'
}
tdSql.execute(f"create database if not exists {dbname} vgroups 4")
tdSql.execute(f"create database if not exists {dbname} vgroups {vgroup}")
tdSql.execute(f'use {dbname}')
# build 20 child tables,every table insert 10 rows
tdSql.execute(f'''create table {stbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 tinyint unsigned, col6 smallint unsigned,
......
......@@ -44,8 +44,7 @@ class TDTestCase:
buildPath = root[:len(root) - len("/build/bin")]
break
return buildPath
def run(self):
def histogram_check_base(self):
print("running {}".format(__file__))
tdSql.execute("drop database if exists db")
tdSql.execute("create database if not exists db")
......@@ -3183,6 +3182,72 @@ class TDTestCase:
tdSql.execute('drop database db')
def histogram_check_distribute(self):
dbname = "db"
stbname = "stb"
row_num = 10
child_table_num = 20
vgroups = 2
user_input_json = "[1,3,5,7]"
ts = 1537146000000
binary_str = 'taosdata'
nchar_str = '涛思数据'
column_dict = {
'ts' : 'timestamp',
'col1' : 'tinyint',
'col2' : 'smallint',
'col3' : 'int',
'col4' : 'bigint',
'col5' : 'tinyint unsigned',
'col6' : 'smallint unsigned',
'col7' : 'int unsigned',
'col8' : 'bigint unsigned',
'col9' : 'float',
'col10': 'double',
'col11': 'bool',
'col12': 'binary(20)',
'col13': 'nchar(20)'
}
tdSql.execute(f"create database if not exists {dbname} vgroups {vgroups}")
tdSql.execute(f'use {dbname}')
# build 20 child tables,every table insert 10 rows
tdSql.execute(f'''create table {stbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 tinyint unsigned, col6 smallint unsigned,
col7 int unsigned, col8 bigint unsigned, col9 float, col10 double, col11 bool, col12 binary(20), col13 nchar(20)) tags(loc nchar(20))''')
for i in range(child_table_num):
tdSql.execute(f"create table {stbname}_{i} using {stbname} tags('beijing')")
tdSql.query('show tables')
vgroup_list = []
for i in range(len(tdSql.queryResult)):
vgroup_list.append(tdSql.queryResult[i][6])
vgroup_list_set = set(vgroup_list)
for i in vgroup_list_set:
vgroups_num = vgroup_list.count(i)
if vgroups_num >=2:
tdLog.info(f'This scene with {vgroups_num} vgroups is ok!')
continue
else:
tdLog.exit(f'This scene does not meet the requirements with {vgroups_num} vgroup!\n')
for i in range(child_table_num):
for j in range(row_num):
tdSql.execute(f"insert into {stbname}_{i} values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{binary_str}%d', '{nchar_str}%d')"
% (ts + j + i, j + 1, j + 1, j + 1, j + 1, j + 1, j + 1, j + 1, j + 1, j + 0.1, j + 0.1, j % 2, j + 1, j + 1))
# user_input
for k,v in column_dict.items():
if v.lower() == 'tinyint' or v.lower() == 'smallint' or v.lower() == 'int' or v.lower() == 'bigint' or v.lower() =='float' or v.lower() =='double'\
or v.lower() =='tinyint unsigned' or v.lower() =='smallint unsigned' or v.lower() =='int unsigned' or v.lower() =='bigint unsigned':
tdSql.query(f'select histogram({k}, "user_input", "{user_input_json}", 0) from {stbname}')
tdSql.checkRows(len(user_input_json[1:-1].split(','))-1)
elif 'binary' in v.lower() or 'nchar' in v.lower() or 'bool' == v.lower():
tdSql.error(f'select histogram({k}, "user_input", "{user_input_json}", 0) from {stbname}')
tdSql.execute(f'drop database {dbname}')
def run(self):
self.histogram_check_base()
self.histogram_check_distribute()
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
......
......@@ -91,7 +91,7 @@ class TDTestCase:
tdSql.query(f"select last({list(column_dict.keys())[0]}) from {stbname}_1 group by {list(column_dict.keys())[-1]}")
tdSql.checkRows(1)
for i in range(self.rowNum):
tdSql.execute(f"insert into stb_1 values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')"
tdSql.execute(f"insert into {stbname}_1 values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')"
% (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1))
for i in [f'{stbname}_1', f'db.{stbname}_1', f'{stbname}', f'db.{stbname}']:
tdSql.query(f"select last(*) from {i}")
......@@ -102,20 +102,20 @@ class TDTestCase:
tdSql.query(f"select last({k}) from {j}")
tdSql.checkRows(1)
# tinyint,smallint,int,bigint,tinyint unsigned,smallint unsigned,int unsigned,bigint unsigned
if v == 'tinyint' or v == 'smallint' or v == 'int' or v == 'bigint' or v == 'tinyint unsigned' or v == 'smallint unsigned'\
or v == 'int unsigned' or v == 'bigint unsigned':
if v.lower() == 'tinyint' or v.lower() == 'smallint' or v.lower() == 'int' or v.lower() == 'bigint' or v.lower() == 'tinyint unsigned' or v.lower() == 'smallint unsigned'\
or v.lower() == 'int unsigned' or v.lower() == 'bigint unsigned':
tdSql.checkData(0, 0, 10)
# float,double
elif v == 'float' or v == 'double':
elif v.lower() == 'float' or v.lower() == 'double':
tdSql.checkData(0, 0, 9.1)
# bool
elif v == 'bool':
elif v.lower() == 'bool':
tdSql.checkData(0, 0, True)
# binary
elif 'binary' in v:
elif 'binary' in v.lower():
tdSql.checkData(0, 0, f'{self.binary_str}{self.rowNum}')
# nchar
elif 'nchar' in v:
elif 'nchar' in v.lower():
tdSql.checkData(0, 0, f'{self.nchar_str}{self.rowNum}')
for i in [f'{stbname}_1', f'db.{stbname}_1', f'{stbname}', f'db.{stbname}']:
tdSql.query(f"select last({list(column_dict.keys())[0]},{list(column_dict.keys())[1]},{list(column_dict.keys())[2]}) from {stbname}_1")
......@@ -170,20 +170,20 @@ class TDTestCase:
tdSql.query(f"select last({k}) from {j}")
tdSql.checkRows(1)
# tinyint,smallint,int,bigint,tinyint unsigned,smallint unsigned,int unsigned,bigint unsigned
if v == 'tinyint' or v == 'smallint' or v == 'int' or v == 'bigint' or v == 'tinyint unsigned' or v == 'smallint unsigned'\
or v == 'int unsigned' or v == 'bigint unsigned':
if v.lower() == 'tinyint' or v.lower() == 'smallint' or v.lower() == 'int' or v.lower() == 'bigint' or v.lower() == 'tinyint unsigned' or v.lower() == 'smallint unsigned'\
or v.lower() == 'int unsigned' or v.lower() == 'bigint unsigned':
tdSql.checkData(0, 0, 10)
# float,double
elif v == 'float' or v == 'double':
elif v.lower() == 'float' or v.lower() == 'double':
tdSql.checkData(0, 0, 9.1)
# bool
elif v == 'bool':
elif v.lower() == 'bool':
tdSql.checkData(0, 0, True)
# binary
elif 'binary' in v:
elif 'binary' in v.lower():
tdSql.checkData(0, 0, f'{self.binary_str}{self.rowNum}')
# nchar
elif 'nchar' in v:
elif 'nchar' in v.lower():
tdSql.checkData(0, 0, f'{self.nchar_str}{self.rowNum}')
tdSql.error(
......@@ -194,8 +194,21 @@ class TDTestCase:
dbname = self.get_long_name(length=10, mode="letters")
stbname = self.get_long_name(length=5, mode="letters")
vgroup_num = 4
column_list = ['col1', 'col2', 'col3', 'col4', 'col5', 'col6',
'col7', 'col8', 'col9', 'col10', 'col11', 'col12', 'col13']
column_dict = {
'col1': 'tinyint',
'col2': 'smallint',
'col3': 'int',
'col4': 'bigint',
'col5': 'tinyint unsigned',
'col6': 'smallint unsigned',
'col7': 'int unsigned',
'col8': 'bigint unsigned',
'col9': 'float',
'col10': 'double',
'col11': 'bool',
'col12': 'binary(20)',
'col13': 'nchar(20)'
}
tdSql.execute(
f"create database if not exists {dbname} vgroups {vgroup_num}")
......@@ -235,31 +248,32 @@ class TDTestCase:
tdSql.query(f"select last(*) from {i}")
tdSql.checkRows(1)
tdSql.checkData(0, 1, 10)
for i in column_list:
for k, v in column_dict.items():
for j in [f'{stbname}', f'{dbname}.{stbname}']:
tdSql.query(f"select last({i}) from {j}")
tdSql.query(f"select last({k}) from {j}")
tdSql.checkRows(1)
# tinyint,smallint,int,bigint,tinyint unsigned,smallint unsigned,int unsigned,bigint unsigned
if i >= 1 and i < 9:
if v.lower() == 'tinyint' or v.lower() == 'smallint' or v.lower() == 'int' or v.lower() == 'bigint' or v.lower() == 'tinyint unsigned' or v.lower() == 'smallint unsigned'\
or v.lower() == 'int unsigned' or v.lower() == 'bigint unsigned':
tdSql.checkData(0, 0, 10)
# float,double
elif i >= 9 and i < 11:
elif v.lower() == 'float' or v.lower() == 'double':
tdSql.checkData(0, 0, 9.1)
# bool
elif i == 11:
elif v.lower() == 'bool':
tdSql.checkData(0, 0, True)
# binary
elif i == 12:
elif 'binary' in v.lower():
tdSql.checkData(0, 0, f'{self.binary_str}{self.rowNum}')
# nchar
elif i == 13:
elif 'nchar' in v.lower():
tdSql.checkData(0, 0, f'{self.nchar_str}{self.rowNum}')
tdSql.execute(f'drop database {dbname}')
def run(self):
self.last_check_stb_tb_base()
# self.last_check_ntb_base()
# self.last_check_stb_distribute()
self.last_check_ntb_base()
self.last_check_stb_distribute()
def stop(self):
tdSql.close()
......
......@@ -71,7 +71,7 @@ class TDTestCase:
# prepare data for vgroup 4
dbname = self.get_long_name(length=10, mode="letters")
stbname = self.get_long_name(length=5, mode="letters")
tdSql.execute(f"create database if not exists {dbname} vgroups 4")
tdSql.execute(f"create database if not exists {dbname} vgroups 2")
tdSql.execute(f'use {dbname}')
# build 20 child tables,every table insert 10 rows
tdSql.execute(f'''create table {stbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 tinyint unsigned, col6 smallint unsigned,
......@@ -96,7 +96,7 @@ class TDTestCase:
tdLog.info(f'This scene with {vgroups_num} vgroups is ok!')
continue
else:
tdLog.exit('This scene does not meet the requirements with {vgroups_num} vgroup!\n')
tdLog.exit(f'This scene does not meet the requirements with {vgroups_num} vgroup!\n')
for i in range(self.rowNum):
for j in range(self.tbnum):
tdSql.execute(f"insert into {stbname}_{j} values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册