提交 cf9c76a3 编写于 作者: P Ping Xiao

test: add test cases for state_window

上级 2ab429ee
......@@ -20,6 +20,7 @@ import numpy as np
class TDTestCase:
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor())
......@@ -42,8 +43,12 @@ class TDTestCase:
tdSql.execute(
"INSERT INTO dev_001 VALUES('2020-05-13 10:00:00.000', 1, '2020-05-13 10:00:00.000', 10, 3.1, 3.14, 'test', -10, -126, true, '测试', 15, 10, 65534, 254, 1)('2020-05-13 10:00:01.000', 1, '2020-05-13 10:00:01.000', 10, 3.1, 3.14, 'test', -10, -126, true, '测试', 15, 10, 65534, 253, 5)('2020-05-13 10:00:02.000', 10, '2020-05-13 10:00:00.000', 11, 3.1, 3.14, 'test', 10, -127, false, '测试', 15, 10, 65534, 253, 10)('2020-05-13 10:00:03.000', 1, '2020-05-13 10:00:00.000', 11, 3.1, 3.14, 'test', -10, -126, true, '测试', 14, 12, 65532, 254, 15)")
for i in range(self.rowNum):
tdSql.execute("insert into dev_002 (ts,t1) values(%d, %d,)" % (self.ts + i, i + 1))
for i in range(10):
sql = "insert into dev_002 (ts,t1) values "
for j in range(int(self.rowNum / 1000)):
sql += "(%d, %d,)" % (self.ts + i * 1000 + j, i * 1000 + j + 1)
tdSql.execute(sql)
tdSql.query("select count(ts) from dev_001 state_window(t1)")
tdSql.checkRows(3)
......@@ -70,7 +75,7 @@ class TDTestCase:
tdSql.checkRows(3)
tdSql.checkData(1, 0, 2)
tdSql.query("select count(ts) from dev_002 state_window(t1)")
tdSql.checkRows(100000)
tdSql.checkRows(1000)
# with all aggregate function
tdSql.query("select count(*),sum(t1),avg(t1),twa(t1),stddev(t15),leastsquares(t15,1,1),first(t15),last(t15),spread(t15),percentile(t15,90),t9 from dev_001 state_window(t9);")
......@@ -101,6 +106,42 @@ class TDTestCase:
tdSql.error("select count(*) from dev_001 state_window(t10)")
tdSql.error("select count(*) from dev_001 state_window(tag2)")
# TD-15164, TD-15226, TD-15227, TD-15186
tdSql.execute("drop database if exists dd")
tdSql.execute("create database dd keep 36500")
tdSql.execute("use dd")
tdSql.execute("create table table_1(ts timestamp , q_int int,q_bool bool)")
tdSql.execute("insert into table_1 (ts , q_int,q_bool) values(1630000000000, 1,0)")
tdSql.execute("insert into table_1 (ts , q_int,q_bool) values(1630000010000, 2,0)")
tdSql.execute("insert into table_1 (ts , q_int,q_bool) values(1630000020000, 3,0)")
tdSql.execute("insert into table_1 (ts , q_int,q_bool) values(1630000100000, 3,0)")
tdSql.execute("insert into table_1 (ts , q_int,q_bool) values(1630000110000, 2,0)")
tdSql.execute("insert into table_1 (ts , q_int,q_bool) values(1630000120000, 1,0)")
tdSql.query("select STDDEV(q_int) from table_1 STATE_WINDOW(q_bool) order by ts ")
tdSql.checkData(0, 0, 0.8164965)
tdSql.query("select STDDEV(q_int) from table_1 STATE_WINDOW(q_bool) order by ts desc")
tdSql.checkData(0, 0, 0.8164965)
tdSql.query("select MAX(q_int) from table_1 STATE_WINDOW(q_bool) order by ts;")
tdSql.checkData(0, 0, 3)
tdSql.query("select MAX(q_int) from table_1 STATE_WINDOW(q_bool) order by ts desc;")
tdSql.checkData(0, 0, 3)
tdSql.query("select MAX(q_int) from table_1 where q_bool in ( true , false) STATE_WINDOW(q_bool) order by ts desc")
tdSql.checkData(0, 0, 3)
tdSql.query("select TOP(q_int,3) from table_1 STATE_WINDOW(q_bool) order by ts")
tdSql.checkData(0, 1, 2)
tdSql.checkData(1, 1, 3)
tdSql.checkData(2, 1, 3)
tdSql.query("select TOP(q_int,3) from table_1 STATE_WINDOW(q_bool) order by ts desc")
tdSql.checkData(0, 1, 3)
tdSql.checkData(1, 1, 3)
tdSql.checkData(2, 1, 2)
def stop(self):
tdSql.close()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册