提交 97eb5592 编写于 作者: A Alex Duan

feat(tsdb): add some delete cases on super table

[TS-238] develop
上级 cc6a070f
...@@ -21,7 +21,7 @@ from util.sql import * ...@@ -21,7 +21,7 @@ from util.sql import *
import numpy as np import numpy as np
# constant define # constant define
WAITS = 5 # wait seconds WAITS = 10 # wait seconds
class TDTestCase: class TDTestCase:
# #
...@@ -52,7 +52,7 @@ class TDTestCase: ...@@ -52,7 +52,7 @@ class TDTestCase:
tbname = "t%d"%i tbname = "t%d"%i
self.insert_data(tbname, self.ts, (i+1)*10000, 20000); self.insert_data(tbname, self.ts, (i+1)*10000, 20000);
tdLog.debug(" INSERT data 100 tables ....... [OK]") tdLog.debug(" INSERT data 10 tables ....... [OK]")
# test base case # test base case
self.test_case1() self.test_case1()
...@@ -74,7 +74,7 @@ class TDTestCase: ...@@ -74,7 +74,7 @@ class TDTestCase:
# create table # create table
def create_tables(self): def create_tables(self):
# super table # super table
tdSql.execute("create table st(ts timestamp, i1 int) tags(area int)"); tdSql.execute("create table st(ts timestamp, i1 int) tags(area int)")
# child table # child table
for i in range(10): for i in range(10):
sql = "create table t%d using st tags(%d)"%(i, i) sql = "create table t%d using st tags(%d)"%(i, i)
...@@ -101,35 +101,182 @@ class TDTestCase: ...@@ -101,35 +101,182 @@ class TDTestCase:
# test case1 base # test case1 base
def test_case1(self): def test_case1(self):
# #
# delete base function # delete from single table
# #
# single table delete # where <
sql = "select count(*) from t0 where ts < 1500000120000" sql = "select count(*) from t0 where ts < 1500000120000"
tdSql.waitedQuery(sql, 1, WAITS) tdSql.query(sql)
tdSql.checkData(0, 0, 120) tdSql.checkData(0, 0, 120)
sql = "delete from t0 where ts < 1500000120000" sql = "delete from t0 where ts < 1500000120000"
tdSql.waitedQuery(sql, 1, WAITS) tdSql.execute(sql)
tdSql.checkAffectedRows(120)
sql = "select count(*) from t0" sql = "select count(*) from t0"
tdSql.waitedQuery(sql, 1, WAITS) tdSql.query(sql)
tdSql.checkData(0, 0, 10000-120) tdSql.checkData(0, 0, 10000 - 120 )
sql = "select * from t0 limit 1" sql = "select * from t0 limit 1"
tdSql.waitedQuery(sql, 1, WAITS) tdSql.query(sql)
tdSql.checkData(0, 1, 120) tdSql.checkData(0, 1, 120)
# where > and <
sql = "delete from t0 where ts > 1500000240000 and ts <= 1500000300000"
tdSql.execute(sql)
tdSql.checkAffectedRows(60)
sql = "select count(*) from t0"
tdSql.query(sql)
tdSql.checkData(0, 0, 10000 - 120 - 60)
sql = "select * from t0 limit 2 offset 120"
tdSql.query(sql)
tdSql.checkData(0, 1, 240)
tdSql.checkData(1, 1, 301)
# where > delete 1000 rows from end
sql = "delete from t0 where ts >= 1500009000000; "
tdSql.execute(sql)
tdSql.checkAffectedRows(1000)
sql = "select count(*) from t0"
tdSql.query(sql)
tdSql.checkData(0, 0, 10000 - 120 - 60 - 1000)
sql = "select last_row(*) from t0; "
tdSql.query(sql)
tdSql.checkData(0, 1, 8999)
sql = "select last(*) from t0"
tdSql.query(sql)
tdSql.checkData(0, 1, 8999)
# insert last_row
sql = "insert into t0 values(1500009999000,9999); "
tdSql.execute(sql)
sql = "select last_row(*) from t0; "
tdSql.query(sql)
tdSql.checkData(0, 1, 9999)
sql = "select last(*) from t0"
tdSql.query(sql)
tdSql.checkData(0, 1, 9999)
# insert last
sql = "insert into t0 values(1500010000000,10000); "
tdSql.execute(sql)
sql = "insert into t0 values(1500010002000,NULL); "
tdSql.execute(sql)
sql = "insert into t0 values(1500010001000,10001); "
tdSql.execute(sql)
sql = "delete from t0 where ts = 1500010001000; "
tdSql.execute(sql)
sql = "select last_row(i1) from t0; "
tdSql.query(sql)
tdSql.checkData(0, 0, None)
sql = "select last(i1) from t0; "
tdSql.query(sql)
tdSql.checkData(0, 0, 10000)
# delete whole
sql = "delete from t0;"
tdSql.execute(sql)
tdSql.checkAffectedRows(8823)
return return
# test advance # test advance
def test_case2(self): def test_case2(self):
# #
# delete other special case # delete from super table
# #
# offset # where <
sql = "select * from t1 limit 10 offset 72000" sql = "select count(*) from st where ts < 1500000120000;"
tdSql.query(sql)
tdSql.checkData(0, 0, 9*120) #1080
sql = "delete from st where ts < 1500000120000;"
tdSql.execute(sql)
tdSql.checkAffectedRows(9*120) #1080
sql = "select count(*) from st;"
tdSql.query(sql)
tdSql.checkData(0, 0, 540000 - 9*120 )
sql = "select * from st limit 1;"
tdSql.query(sql)
tdSql.checkData(0, 1, 120)
# where > and <
sql = "delete from st where ts > 1500000240000 and ts <= 1500000300000;"
tdSql.execute(sql)
tdSql.checkAffectedRows(9*60)
sql = "select count(*) from st;"
tdSql.query(sql)
tdSql.checkData(0, 0, 540000 - 9*120 - 9*60)
sql = "select * from st limit 2 offset 120"
tdSql.query(sql)
tdSql.checkData(0, 1, 240)
tdSql.checkData(1, 1, 301)
# where > delete 1000 rows from end
sql = "delete from st where ts >= 1500009000000; "
tdSql.execute(sql)
tdSql.checkAffectedRows(459000)
sql = "select count(*) from st;"
tdSql.query(sql)
tdSql.checkData(0, 0, 79380)
sql = "select last_row(*) from st; "
tdSql.query(sql)
tdSql.checkData(0, 1, 8999)
sql = "select last(*) from st"
tdSql.query(sql)
tdSql.checkData(0, 1, 8999)
# insert last_row
sql = "insert into t0 values(1500009999000,9999); "
tdSql.execute(sql)
sql = "select last_row(*) from st; "
tdSql.query(sql)
tdSql.checkData(0, 1, 9999)
sql = "select last(*) from st"
tdSql.query(sql)
tdSql.checkData(0, 1, 9999)
# insert last
sql = "insert into t0 values(1500010000000,10000); "
tdSql.execute(sql)
sql = "insert into t0 values(1500010002000,NULL); "
tdSql.execute(sql)
sql = "insert into t0 values(1500010001000,10001); "
tdSql.execute(sql)
sql = "delete from t0 where ts = 1500010001000; "
tdSql.execute(sql)
sql = "select last_row(i1) from st; "
tdSql.query(sql)
tdSql.checkData(0, 0, None)
sql = "select last(i1) from st; "
tdSql.query(sql)
tdSql.checkData(0, 0, 10000)
# delete whole
sql = "delete from st;"
tdSql.execute(sql)
tdSql.checkAffectedRows(79383)
return
# #
# add case with filename # add case with filename
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册