Merge pull request #29508 from taosdata/enh/test/joincase
enh: test case
This commit is contained in:
commit
4a73dbff0e
|
@ -7,9 +7,11 @@ TAOS_DEF_ERROR_CODE = ctypes.c_int32(0x80000000).value
|
|||
TSDB_CODE_MND_FUNC_NOT_EXIST = (TAOS_DEF_ERROR_CODE | 0x0374)
|
||||
|
||||
|
||||
TSDB_CODE_TSC_INVALID_OPERATION = (TAOS_DEF_ERROR_CODE | 0x0200)
|
||||
|
||||
TSDB_CODE_UDF_FUNC_EXEC_FAILURE = (TAOS_DEF_ERROR_CODE | 0x290A)
|
||||
|
||||
|
||||
TSDB_CODE_TSC_INTERNAL_ERROR = (TAOS_DEF_ERROR_CODE | 0x02FF)
|
||||
|
||||
TSDB_CODE_TSC_INVALID_OPERATION = (TAOS_DEF_ERROR_CODE | 0x0200)
|
||||
TSDB_CODE_PAR_SYNTAX_ERROR = (TAOS_DEF_ERROR_CODE | 0x2600)
|
||||
|
|
|
@ -356,6 +356,11 @@ class TDTestCase:
|
|||
def join_semantic_test(self, dbname=DBNAME):
|
||||
tdSql.query("select ct1.c_int from db.ct1 as ct1 join db1.ct1 as cy1 on ct1.ts=cy1.ts")
|
||||
tdSql.checkRows(self.rows)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 semi join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 anti join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 outer join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 asof join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 window join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
|
||||
tdSql.query("select ct1.c_int from db.ct1 as ct1 join db1.ct1 as cy1 on ct1.ts=cy1.ts")
|
||||
tdSql.checkRows(self.rows)
|
||||
|
@ -390,6 +395,9 @@ class TDTestCase:
|
|||
|
||||
tdSql.query("select ct1.c_int from db.ct1 as ct1 full join db1.ct1 as cy1 on ct1.ts=cy1.ts join db1.ct1 as cy2 on ct1.ts=cy2.ts")
|
||||
tdSql.checkRows(self.rows)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 full semi join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 full anti join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.query("select ct1.c_int from db.ct1 as ct1 full outer join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.query("select * from db.ct1 join db.ct2 join db.ct3 on ct2.ts=ct3.ts on ct1.ts=ct2.ts")
|
||||
tdSql.checkRows(0)
|
||||
tdSql.execute(f'create table db.ct1_2 using db.stb1 tags ( 102 )')
|
||||
|
@ -398,6 +406,13 @@ class TDTestCase:
|
|||
tdSql.execute(f'insert into db.ct1_3 (select * from db.ct1)')
|
||||
tdSql.query("select * from db.ct1 join db.ct1_2 join db.ct1_3 on ct1_2.ts=ct1_3.ts on ct1.ts=ct1_2.ts")
|
||||
tdSql.checkRows(self.rows)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 full asof join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
tdSql.error("select ct1.c_int from db.ct1 as ct1 full window join db1.ct1 as cy1 on ct1.ts=cy1.ts", TSDB_CODE_PAR_SYNTAX_ERROR)
|
||||
|
||||
tdSql.query("select ct1.c_int from db.ct1 as ct1 left join db1.ct1 as cy1 on ct1.ts=cy1.ts")
|
||||
tdSql.checkRows(self.rows)
|
||||
tdSql.query("select ct1.c_int from db.ct1 as ct1 right join db1.ct1 as cy1 on ct1.ts=cy1.ts")
|
||||
tdSql.checkRows(self.rows)
|
||||
|
||||
tdSql.execute("drop table db.ct1_2")
|
||||
tdSql.execute("drop table db.ct1_3")
|
||||
|
|
|
@ -969,6 +969,11 @@ class TDTestCase:
|
|||
tdSql.checkData(0, 0, 6)
|
||||
tdSql.checkData(0, 1, 1734574929004)
|
||||
tdSql.checkData(0, 2, 4)
|
||||
tdSql.query(f'select count(1), last_row(ts), last_row(c0) from (select * from (select * from {dbname}.meters))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 6)
|
||||
tdSql.checkData(0, 1, 1734574929004)
|
||||
tdSql.checkData(0, 2, 4)
|
||||
tdSql.query(f'select tbname, last_row(ts), last_row(c0) from (select *, tbname from {dbname}.meters) group by tbname order by tbname')
|
||||
tdSql.checkRows(2)
|
||||
tdSql.checkData(0, 0, 'd0')
|
||||
|
@ -977,6 +982,14 @@ class TDTestCase:
|
|||
tdSql.checkData(1, 0, 'd1')
|
||||
tdSql.checkData(1, 1, 1734574929000)
|
||||
tdSql.checkData(1, 2, 1)
|
||||
tdSql.query(f'select tbname, last_row(ts), last_row(c0) from (select * from (select *, tbname from {dbname}.meters)) group by tbname order by tbname')
|
||||
tdSql.checkRows(2)
|
||||
tdSql.checkData(0, 0, 'd0')
|
||||
tdSql.checkData(0, 1, 1734574929004)
|
||||
tdSql.checkData(0, 2, 4)
|
||||
tdSql.checkData(1, 0, 'd1')
|
||||
tdSql.checkData(1, 1, 1734574929000)
|
||||
tdSql.checkData(1, 2, 1)
|
||||
tdSql.query(f'select count(1), last_row(ts), last_row(c0) from (select * from {dbname}.d0)')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 5)
|
||||
|
@ -988,6 +1001,43 @@ class TDTestCase:
|
|||
tdSql.checkData(0, 1, 1734574929004)
|
||||
tdSql.checkData(0, 2, 4)
|
||||
|
||||
tdSql.execute(f'insert into {dbname}.d0 values(1734574930000, 1, 1, "c2", true)')
|
||||
tdSql.execute(f'insert into {dbname}.d0 values(1734574931000, 1, 1, "c2", true)')
|
||||
tdSql.execute(f'insert into {dbname}.d0 values(1734574932000, 1, 1, "c2", true)')
|
||||
tdSql.query(f'select last_row(_wstart) from (select _wstart, _wend, count(1) from {dbname}.meters interval(1s))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.query(f'select last_row(_wstart), count(1) from (select _wstart, _wend, count(1) from {dbname}.meters interval(1s))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.checkData(0, 1, 4)
|
||||
tdSql.query(f'select last_row(_wstart) from (select _wstart, _wend, count(1) from {dbname}.meters partition by tbname interval(1s))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.query(f'select last_row(_wstart), count(1) from (select _wstart, _wend, count(1) from {dbname}.meters partition by tbname interval(1s))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.checkData(0, 1, 5)
|
||||
tdSql.query(f'select first(_wstart), count(1) from (select _wstart, _wend, count(1) from {dbname}.meters interval(1s))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574929000)
|
||||
tdSql.checkData(0, 1, 4)
|
||||
|
||||
tdSql.query(f'select last_row(_wstart) from (select * from (select _wstart, _wend, count(1) from {dbname}.meters interval(1s)))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.query(f'select last_row(_wstart), count(1) from (select * from (select _wstart, _wend, count(1) from {dbname}.meters interval(1s)))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.checkData(0, 1, 4)
|
||||
tdSql.query(f'select last_row(_wstart) from (select * from (select _wstart, _wend, count(1) from {dbname}.meters partition by tbname interval(1s)))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.query(f'select last_row(_wstart), count(1) from (select * from (select _wstart, _wend, count(1) from {dbname}.meters partition by tbname interval(1s)))')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, 1734574932000)
|
||||
tdSql.checkData(0, 1, 5)
|
||||
|
||||
def run(self): # sourcery skip: extract-duplicate-method, remove-redundant-fstring
|
||||
# tdSql.prepare()
|
||||
|
||||
|
@ -1023,7 +1073,6 @@ class TDTestCase:
|
|||
|
||||
self.lastrow_in_subquery("db1")
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success(f"{__file__} successfully executed")
|
||||
|
|
Loading…
Reference in New Issue