last_row case

This commit is contained in:
factosea 2025-01-07 20:07:53 +08:00
parent 333eee4b4c
commit 69413aeafd
1 changed files with 52 additions and 0 deletions

View File

@ -969,6 +969,11 @@ class TDTestCase:
tdSql.checkData(0, 0, 6) tdSql.checkData(0, 0, 6)
tdSql.checkData(0, 1, 1734574929004) tdSql.checkData(0, 1, 1734574929004)
tdSql.checkData(0, 2, 4) 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.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.checkRows(2)
tdSql.checkData(0, 0, 'd0') tdSql.checkData(0, 0, 'd0')
@ -977,6 +982,14 @@ class TDTestCase:
tdSql.checkData(1, 0, 'd1') tdSql.checkData(1, 0, 'd1')
tdSql.checkData(1, 1, 1734574929000) tdSql.checkData(1, 1, 1734574929000)
tdSql.checkData(1, 2, 1) 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.query(f'select count(1), last_row(ts), last_row(c0) from (select * from {dbname}.d0)')
tdSql.checkRows(1) tdSql.checkRows(1)
tdSql.checkData(0, 0, 5) tdSql.checkData(0, 0, 5)
@ -988,12 +1001,51 @@ class TDTestCase:
tdSql.checkData(0, 1, 1734574929004) tdSql.checkData(0, 1, 1734574929004)
tdSql.checkData(0, 2, 4) 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 def run(self): # sourcery skip: extract-duplicate-method, remove-redundant-fstring
# tdSql.prepare() # tdSql.prepare()
tdLog.printNoPrefix("==========step1:create table ==============") tdLog.printNoPrefix("==========step1:create table ==============")
self.initLastRowDelayTest("DELAYTEST") self.initLastRowDelayTest("DELAYTEST")
self.lastrow_in_subquery("db1")
return
# cache_last 0 # cache_last 0
self.prepare_datas("'NONE' ") self.prepare_datas("'NONE' ")