Merge pull request #22518 from taosdata/test/union_timeline

test: add test cases for timeline function used for select * union query
This commit is contained in:
dapan1121 2023-08-24 09:23:18 +08:00 committed by GitHub
commit 599e496ceb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 1 deletions

View File

@ -191,7 +191,7 @@ class TDTestCase:
if tdSql.cursor.istype(col, "BIGINT UNSIGNED"): if tdSql.cursor.istype(col, "BIGINT UNSIGNED"):
return "BIGINT UNSIGNED" return "BIGINT UNSIGNED"
def union_check(self): def union_check(self, dbname = "db"):
sqls = self.sql_list() sqls = self.sql_list()
for i in range(len(sqls)): for i in range(len(sqls)):
tdSql.query(sqls[i]) tdSql.query(sqls[i])
@ -232,6 +232,32 @@ class TDTestCase:
else: else:
tdSql.error(f"{sqls[i]} union {sqls[j+i]}") tdSql.error(f"{sqls[i]} union {sqls[j+i]}")
# check union with timeline function
tdSql.query(f"select first(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1 order by ts)")
tdSql.checkRows(1)
tdSql.checkData(0, 0, 9)
tdSql.query(f"select last(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1 order by ts desc)")
tdSql.checkRows(1)
tdSql.checkData(0, 0, 2147450880)
tdSql.query(f"select irate(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1 order by ts)")
tdSql.checkRows(1)
tdSql.checkData(0, 0, 9.102222222222222)
tdSql.query(f"select elapsed(ts) from (select * from {dbname}.t1 union select * from {dbname}.t1 order by ts)")
tdSql.checkRows(1)
tdSql.checkData(0, 0, 46800000.000000000000000)
tdSql.query(f"select diff(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1 order by ts)")
tdSql.checkRows(14)
tdSql.query(f"select derivative(c1, 1s, 0) from (select * from {dbname}.t1 union select * from {dbname}.t1 order by ts)")
tdSql.checkRows(11)
tdSql.error(f"select first(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1)")
tdSql.error(f"select last(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1)")
tdSql.error(f"select irate(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1)")
tdSql.error(f"select elapsed(ts) from (select * from {dbname}.t1 union select * from {dbname}.t1)")
tdSql.error(f"select diff(c1) from (select * from {dbname}.t1 union select * from {dbname}.t1)")
tdSql.error(f"select derivative(c1, 1s, 0) from (select * from {dbname}.t1 union select * from {dbname}.t1)")
def __test_error(self, dbname="db"): def __test_error(self, dbname="db"):
tdSql.error( f"show {dbname}.tables union show {dbname}.tables" ) tdSql.error( f"show {dbname}.tables union show {dbname}.tables" )