diff --git a/tests/system-test/2-query/last_row.py b/tests/system-test/2-query/last_row.py index dd510459b6..8f616674e9 100644 --- a/tests/system-test/2-query/last_row.py +++ b/tests/system-test/2-query/last_row.py @@ -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,12 +1001,51 @@ 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 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 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 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 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 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 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 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 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 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() tdLog.printNoPrefix("==========step1:create table ==============") self.initLastRowDelayTest("DELAYTEST") + self.lastrow_in_subquery("db1") + return # cache_last 0 self.prepare_datas("'NONE' ")