test: finish stb select column

This commit is contained in:
jiajingbin 2022-05-07 22:12:44 +08:00
parent e841a70159
commit fec25caad4
1 changed files with 24 additions and 26 deletions

View File

@ -58,12 +58,12 @@ class TDTestCase:
self.insertData(tb_name) self.insertData(tb_name)
return tb_name return tb_name
def initStb(self): def initStb(self, count=5):
tdCom.cleanTb() tdCom.cleanTb()
tb_name = tdCom.getLongName(8, "letters") tb_name = tdCom.getLongName(8, "letters")
tdSql.execute( tdSql.execute(
f"CREATE TABLE {tb_name} (ts timestamp, c1 tinyint, c2 smallint, c3 int, c4 bigint, c5 float, c6 double, c7 binary(100), c8 nchar(200), c9 bool, c10 tinyint unsigned, c11 smallint unsigned, c12 int unsigned, c13 bigint unsigned) tags (t1 tinyint, t2 smallint, t3 int, t4 bigint, t5 float, t6 double, t7 binary(100), t8 nchar(200), t9 bool, t10 tinyint unsigned, t11 smallint unsigned, t12 int unsigned, t13 bigint unsigned)") f"CREATE TABLE {tb_name} (ts timestamp, c1 tinyint, c2 smallint, c3 int, c4 bigint, c5 float, c6 double, c7 binary(100), c8 nchar(200), c9 bool, c10 tinyint unsigned, c11 smallint unsigned, c12 int unsigned, c13 bigint unsigned) tags (t1 tinyint, t2 smallint, t3 int, t4 bigint, t5 float, t6 double, t7 binary(100), t8 nchar(200), t9 bool, t10 tinyint unsigned, t11 smallint unsigned, t12 int unsigned, t13 bigint unsigned)")
for i in range(1, 6): for i in range(1, count+1):
tdSql.execute( tdSql.execute(
f'CREATE TABLE {tb_name}_sub_{i} using {tb_name} tags ({i}, {i}, {i}, {i}, {i}.{i}, {i}.{i}, "binary{i}", "nchar{i}", true, {i}, {i}, {i}, {i})') f'CREATE TABLE {tb_name}_sub_{i} using {tb_name} tags ({i}, {i}, {i}, {i}, {i}.{i}, {i}.{i}, "binary{i}", "nchar{i}", true, {i}, {i}, {i}, {i})')
self.insertData(f'{tb_name}_sub_{i}') self.insertData(f'{tb_name}_sub_{i}')
@ -1382,31 +1382,29 @@ class TDTestCase:
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False
# # not in # # not in
# # ! bug TD-15327 query_sql = f'select {select_elm} from {tb_name} where c9 not in (true)'
# query_sql = f'select {select_elm} from {tb_name} where c9 not in ("true")' tdSql.query(query_sql)
# tdSql.query(query_sql) tdSql.checkRows(2)
# tdSql.checkRows(2) tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False
# tdSql.checkEqual(self.queryLastC10(query_sql), 2) if select_elm == "*" else False
# # ! bug TD-15327
# # and # # and
# query_sql = f'select {select_elm} from {tb_name} where c9 = true and c9 != "false" and c9 <> "binary" and c9 = "true" and c9 is not null and c9 in ("binary", true) and c9 not in ("binary")' query_sql = f'select {select_elm} from {tb_name} where c9 = true and c9 != "false" and c9 <> "binary" and c9 is not null and c9 in ("binary", true) and c9 not in ("binary")'
# tdSql.query(query_sql) tdSql.query(query_sql)
# tdSql.checkRows(1) tdSql.checkRows(9)
# tdSql.checkEqual(self.queryLastC10(query_sql), 8) if select_elm == "*" else False tdSql.checkEqual(self.queryLastC10(query_sql), 9) if select_elm == "*" else False
# # or # # or
# query_sql = f'select {select_elm} from {tb_name} where c9 = true or c9 != "false" or c9 <> "binary" or c9 = "true" or c9 is not null or c9 in ("binary", true) or c9 not in ("binary")' query_sql = f'select {select_elm} from {tb_name} where c9 = true or c9 != "false" or c9 <> "binary" or c9 = "true" or c9 is not null or c9 in ("binary", true) or c9 not in ("binary")'
# tdSql.query(query_sql) tdSql.query(query_sql)
# tdSql.checkRows(2) tdSql.checkRows(11)
# tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False
# # and or # # and or
# query_sql = f'select {select_elm} from {tb_name} where c9 > "binary" and c9 >= "binary8" or c9 < "binary9" and c9 <= "binary" and c9 != 2 and c9 <> 2 and c9 = 4 or c9 is not null and c9 between 2 and 4 and c9 not between 1 and 2 and c9 in (2,4) and c9 not in (1,2) or c9 match "binary[28]" or c9 nmatch "binary"' query_sql = f'select {select_elm} from {tb_name} where c9 = true and c9 != "false" or c9 <> "binary" or c9 = "true" and c9 is not null or c9 in ("binary", true) or c9 not in ("binary")'
# tdSql.query(query_sql) tdSql.query(query_sql)
# tdSql.checkRows(11) tdSql.checkRows(11)
# tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False tdSql.checkEqual(self.queryLastC10(query_sql), 11) if select_elm == "*" else False
# query_sql = f'select c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 from {tb_name} where c9 > "binary" and c9 >= "binary8" or c9 < "binary9" and c9 <= "binary" and c9 != 2 and c9 <> 2 and c9 = 4 or c9 is not null and c9 between 2 and 4 and c9 not between 1 and 2 and c9 in (2,4) and c9 not in (1,2) or c9 match "binary[28]" or c9 nmatch "binary"' query_sql = f'select c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 from {tb_name} where c9 > "binary" and c9 >= "binary8" or c9 < "binary9" and c9 <= "binary" and c9 != 2 and c9 <> 2 and c9 = 4 or c9 is not null and c9 between 2 and 4 and c9 not between 1 and 2 and c9 in (2,4) and c9 not in (1,2) or c9 match "binary[28]" or c9 nmatch "binary"'
# tdSql.query(query_sql) tdSql.query(query_sql)
# tdSql.checkRows(11) tdSql.checkRows(11)
def queryFullColType(self, tb_name, check_elm=None): def queryFullColType(self, tb_name, check_elm=None):
select_elm = "*" if check_elm is None else check_elm select_elm = "*" if check_elm is None else check_elm
@ -2017,7 +2015,7 @@ class TDTestCase:
''' '''
Super table full column type and operator Super table full column type and operator
''' '''
stb_name = self.initStb() stb_name = self.initStb(count=1)
tb_name = stb_name + "_sub_1" tb_name = stb_name + "_sub_1"
if check_elm is None: if check_elm is None:
self.checkColType(tb_name, check_elm) self.checkColType(tb_name, check_elm)
@ -2112,14 +2110,14 @@ class TDTestCase:
tdSql.prepare() tdSql.prepare()
column_name = random.choice(["c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "c10", "c11", "c12", "c13"]) column_name = random.choice(["c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "c10", "c11", "c12", "c13"])
for check_elm in [None, column_name]: for check_elm in [None, column_name]:
# self.checkTbColTypeOperator(check_elm) self.checkTbColTypeOperator(check_elm)
self.checkStbColTypeOperator(check_elm) self.checkStbColTypeOperator(check_elm)
# self.checkStbTagTypeOperator() # self.checkStbTagTypeOperator()
# self.checkTbTsCol() # self.checkTbTsCol()
# self.checkStbTsTol() # self.checkStbTsTol()
# self.checkStbTsTag() # self.checkStbTsTag()
# self.checkStbTsColTag() # self.checkStbTsColTag()
# self.checkTbMultiExpression() self.checkTbMultiExpression()
# self.checkStbMultiExpression() # self.checkStbMultiExpression()
# self.checkTbPreCal() # self.checkTbPreCal()
# self.checkStbPreCal() # self.checkStbPreCal()