提交 9c289dd7 编写于 作者: P Ping Xiao

add update test case

上级 0d0a8732
# clear env set up ###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
create database db update 1; # All rights reserved.
#
## Step 1 # This file is proprietary and confidential to TAOS Technologies.
$loops = 1000 # No part of this file may be reproduced, stored, transmitted,
#t0 = 1604298064000 # disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
create table t1 (ts timestamp, a int); #
for ($i = 0; $i < $loops; $i++) { ###################################################################
insert into t1 values ($t0 + $i, 1);
restart to commit # -*- coding: utf-8 -*-
check query result
} import sys
import taos
## Step 2 from util.log import *
create table t2 (ts timestamp, a int); from util.cases import *
from util.sql import *
insert into t2 ($t0, 1); from util.dnodes import *
restart to commit
check query result
class TDTestCase:
for ($i = 1; $i <= 150; $i++) { def init(self, conn, logSql):
insert into t2 values ($t0 + $i, 1); tdLog.debug("start to execute %s" % __file__)
} tdSql.init(conn.cursor())
restart to commit
check query result self.ts = 1604298064000
## Step 3 def restartTaosd(self):
create table t3 (ts timestamp, a int); tdDnodes.stop(1)
tdDnodes.startWithoutSleep(1)
insert into t3 ($t0, 1); tdSql.execute("use udb")
restart to commit
check query result def run(self):
tdSql.prepare()
for ($i = 0; $i < 8; $i++) {
for ($j = 1; $j <= 10; $j++) { print("==============step1")
insert into t3 values ($t0 + $i * 10 + $j , 1); tdSql.execute("create database udb update 1")
} tdSql.execute("use udb")
} tdSql.execute("create table t1 (ts timestamp, a int)")
restart to commit
check query result for i in range(10):
\ No newline at end of file tdSql.execute("insert into t1 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t1")
tdSql.checkRows(i + 1)
print("==============step2")
tdSql.execute("create table t2 (ts timestamp, a int)")
tdSql.execute("insert into t2 values(%d, 1)" % self.ts)
self.restartTaosd()
tdSql.query("select * from t2")
tdSql.checkRows(1)
for i in range(1, 151):
tdSql.execute("insert into t2 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t2")
tdSql.checkRows(151)
print("==============step3")
tdSql.execute("create table t3 (ts timestamp, a int)")
tdSql.execute("insert into t3 values(%d, 1)" % self.ts)
self.restartTaosd()
tdSql.query("select * from t3")
tdSql.checkRows(1)
for i in range(8):
for j in range(1, 11):
tdSql.execute("insert into t3 values(%d, 1)" % (self.ts + i * 10 + j))
self.restartTaosd()
tdSql.query("select * from t3")
tdSql.checkRows(81)
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
# clear env set up ###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
$t0 = 1603152000000 # All rights reserved.
#
create database db update 1 days 30; # This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
## STEP 1: UPDATE THE LAST RECORD REPEATEDLY # disclosed or used in any form or by any means other than as
create table t1 (ts timestamp, a int); # expressly provided by the written permission from Jianhui Tao
#
for ($i = 0; $i < 100; $i++) { ###################################################################
insert into t1 values ($t0, $i);
# -*- coding: utf-8 -*-
restart to commit
check query result import sys
} import taos
from util.log import *
## STEP 2: UPDATE THE WHOLE LAST BLOCK from util.cases import *
create table t2 (ts timestamp, a int); from util.sql import *
for ($i = 0; $i < 50; $i++) { from util.dnodes import *
insert into t2 values ($t0 + $i, 1);
}
restart to commit class TDTestCase:
check query result def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
for ($i = 0; $i < 50; $i++) { tdSql.init(conn.cursor())
insert into t2 values ($t0 + $i, 2);
} self.ts = 1603152000000
check query result def restartTaosd(self):
restart to commit tdDnodes.stop(1)
check query result tdDnodes.startWithoutSleep(1)
tdSql.execute("use udb")
## STEP 3: UPDATE PART OF THE LAST BLOCK
create table t3 (ts timestamp, a int); def run(self):
for ($i = 0; $i < 50; $i++) { tdSql.prepare()
insert into t3 values ($t0 + $i, 1);
} tdSql.execute("create database udb update 1 days 30")
restart to commit tdSql.execute("use udb")
check query result
print("==============step 1: UPDATE THE LAST RECORD REPEATEDLY")
for ($i = 0; $i < 25; $i++) { tdSql.execute("create table t1 (ts timestamp, a int)")
insert into t3 values ($t0 + $i, 2);
} for i in range(5):
tdSql.execute("insert into t1 values(%d, %d)" % (self.ts, i))
check query result self.restartTaosd()
restart to commit tdSql.query("select * from t1")
check query result tdSql.checkRows(1)
tdSql.checkData(0, 1, i)
for ($i = 25; $i < 50; $i++) {
insert into t3 values ($t0 + $i, 2); print("==============step 2: UPDATE THE WHOLE LAST BLOCK")
} tdSql.execute("create table t2 (ts timestamp, a int)")
check query result for i in range(50):
restart to commit tdSql.execute("insert into t2 values(%d, 1)" % (self.ts + i))
check query result self.restartTaosd()
tdSql.query("select * from t2")
## STEP 4: UPDATE AND INSERT APPEND AT END OF DATA tdSql.checkRows(50)
create table t4 (ts timestamp, a int); for i in range(50):
for ($i = 0; $i < 50; $i++) { tdSql.checkData(i, 1, 1)
insert into t4 values ($t0 + $i, 1);
} for i in range(50):
restart to commit tdSql.execute("insert into t2 values(%d, 2)" % (self.ts + i))
check query result tdSql.query("select * from t2")
for i in range(50):
for ($i = 0; $i < 25; $i++) { tdSql.checkData(i, 1, 2)
insert into t4 values ($t0 + $i, 2);
} self.restartTaosd()
tdSql.query("select * from t2")
for ($i = 50; $i < 60; $i++) { tdSql.checkRows(50)
insert into t4 values ($t0 + $i, 2); for i in range(50):
} tdSql.checkData(i, 1, 2)
check query result print("==============step 3: UPDATE PART OF THE LAST BLOCK")
restart to commit tdSql.execute("create table t3 (ts timestamp, a int)")
check query result
for i in range(50):
## STEP 5: UPDATE AND INSERT PREPEND SOME DATA tdSql.execute("insert into t3 values(%d, 1)" % (self.ts + i))
create table t5 (ts timestamp, a int); self.restartTaosd()
for ($i = 0; $i < 50; $i++) { tdSql.query("select * from t3")
insert into t5 values ($t0 + $i, 1); tdSql.checkRows(50)
} for i in range(50):
restart to commit tdSql.checkData(i, 1, 1)
check query result
for i in range(25):
for ($i = -10; $i < 0; $i++) { tdSql.execute("insert into t3 values(%d, 2)" % (self.ts + i))
insert into t4 values ($t0 + $i, 2);
} tdSql.query("select * from t3")
for i in range(25):
for ($i = 0; $i < 25; $i++) { tdSql.checkData(i, 1, 2)
insert into t5 values ($t0 + $i, 2); for i in range(25, 50):
} tdSql.checkData(i, 1, 1)
check query result self.restartTaosd()
restart to commit tdSql.query("select * from t3")
check query result tdSql.checkRows(50)
for i in range(25):
for ($i = -10; $i < 0; $i++) { tdSql.checkData(i, 1, 2)
insert into t4 values ($t0 + $i, 3); for i in range(25, 50):
} tdSql.checkData(i, 1, 1)
for ($i = 25; $i < 50; $i++) { print("==============step 4: UPDATE AND INSERT APPEND AT END OF DATA")
insert into t5 values ($t0 + $i, 3); tdSql.execute("create table t4 (ts timestamp, a int)")
}
for i in range(50):
check query result tdSql.execute("insert into t4 values(%d, 1)" % (self.ts + i))
restart to commit
check query result self.restartTaosd()
tdSql.query("select * from t4")
## STEP 6: INSERT AHEAD A LOT OF DATA tdSql.checkRows(50)
create table t6 (ts timestamp, a int); for i in range(50):
for ($i = 0; $i < 50; $i++) { tdSql.checkData(i, 1, 1)
insert into t6 values ($t0 + $i, 1);
} for i in range(25):
restart to commit tdSql.execute("insert into t4 values(%d, 2)" % (self.ts + i))
check query result
for i in range(50, 60):
for ($i = -1000; $i < 0; $i++) { tdSql.execute("insert into t4 values(%d, 2)" % (self.ts + i))
insert into t6 values ($t0 + $i, 2);
} tdSql.query("select * from t4")
tdSql.checkRows(60)
check query result for i in range(25):
restart to commit tdSql.checkData(i, 1, 2)
check query result for i in range(25, 50):
tdSql.checkData(i, 1, 1)
## STEP 7: INSERT AHEAD A LOT AND UPDATE for i in range(50, 60):
create table t7 (ts timestamp, a int); tdSql.checkData(i, 1, 2)
for ($i = 0; $i < 50; $i++) {
insert into t7 values ($t0 + $i, 1); self.restartTaosd()
} tdSql.query("select * from t4")
restart to commit tdSql.checkRows(60)
check query result for i in range(25):
tdSql.checkData(i, 1, 2)
for ($i = -1000; $i < 25; $i++) { for i in range(25, 50):
insert into t7 values ($t0 + $i, 2); tdSql.checkData(i, 1, 1)
} for i in range(50, 60):
tdSql.checkData(i, 1, 2)
check query result
restart to commit print("==============step 5: UPDATE AND INSERT PREPEND SOME DATA")
check query result tdSql.execute("create table t5 (ts timestamp, a int)")
## STEP 8: INSERT AHEAD A LOT AND UPDATE for i in range(50):
create table t8 (ts timestamp, a int); tdSql.execute("insert into t5 values(%d, 1)" % (self.ts + i))
for ($i = 0; $i < 50; $i++) {
insert into t8 values ($t0 + $i, 1); self.restartTaosd()
} tdSql.query("select * from t5")
restart to commit tdSql.checkRows(50)
check query result for i in range(50):
tdSql.checkData(i, 1, 1)
for ($i = 25; $i < 6000; $i++) {
insert into t8 values ($t0 + $i, 2); for i in range(-10, 0):
} tdSql.execute("insert into t5 values(%d, 2)" % (self.ts + i))
check query result for i in range(25):
restart to commit tdSql.execute("insert into t5 values(%d, 2)" % (self.ts + i))
check query result
tdSql.query("select * from t5")
## STEP 9: UPDATE ONLY MIDDLE tdSql.checkRows(60)
create table t9 (ts timestamp, a int); tdSql.query("select sum(a) from t5")
for ($i = 0; $i < 50; $i++) { tdSql.checkData(0, 0, 95)
insert into t9 values ($t0 + $i, 1);
} self.restartTaosd()
restart to commit tdSql.query("select * from t5")
check query result tdSql.checkRows(60)
tdSql.query("select sum(a) from t5")
for ($i = 20; $i < 30; $i++) { tdSql.checkData(0, 0, 95)
insert into t9 values ($t0 + $i, 2);
} for i in range(-10, 0):
tdSql.execute("insert into t5 values(%d, 3)" % (self.ts + i))
check query result
restart to commit for i in range(25, 50):
check query result tdSql.execute("insert into t5 values(%d, 3)" % (self.ts + i))
## STEP 10: A LOT OF DATA COVER THE WHOLE BLOCK tdSql.query("select * from t5")
create table t10 (ts timestamp, a int); tdSql.checkRows(60)
for ($i = 0; $i < 50; $i++) { tdSql.query("select sum(a) from t5")
insert into t10 values ($t0 + $i, 1); tdSql.checkData(0, 0, 155)
}
restart to commit self.restartTaosd()
check query result tdSql.query("select * from t5")
tdSql.checkRows(60)
for ($i = -4000; $i < 4000; $i++) { tdSql.query("select sum(a) from t5")
insert into t10 values ($t0 + $i, 2); tdSql.checkData(0, 0, 155)
}
check query result print("==============step 6: INSERT AHEAD A LOT OF DATA")
restart to commit tdSql.execute("create table t6 (ts timestamp, a int)")
check query result
\ No newline at end of file for i in range(50):
tdSql.execute("insert into t6 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t6")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t6")
tdSql.checkData(0, 0, 50)
for i in range(-1000, 0):
tdSql.execute("insert into t6 values(%d, 2)" % (self.ts + i))
tdSql.query("select * from t6")
tdSql.checkRows(1050)
tdSql.query("select sum(a) from t6")
tdSql.checkData(0, 0, 2050)
self.restartTaosd()
tdSql.query("select * from t6")
tdSql.checkRows(1050)
tdSql.query("select sum(a) from t6")
tdSql.checkData(0, 0, 2050)
print("==============step 7: INSERT AHEAD A LOT AND UPDATE")
tdSql.execute("create table t7 (ts timestamp, a int)")
for i in range(50):
tdSql.execute("insert into t7 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t7")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t7")
tdSql.checkData(0, 0, 50)
for i in range(-1000, 25):
tdSql.execute("insert into t7 values(%d, 2)" % (self.ts + i))
tdSql.query("select * from t7")
tdSql.checkRows(1050)
tdSql.query("select sum(a) from t7")
tdSql.checkData(0, 0, 2075)
self.restartTaosd()
tdSql.query("select * from t7")
tdSql.checkRows(1050)
tdSql.query("select sum(a) from t7")
tdSql.checkData(0, 0, 2075)
print("==============step 8: INSERT AFTER A LOT AND UPDATE")
tdSql.execute("create table t8 (ts timestamp, a int)")
for i in range(50):
tdSql.execute("insert into t8 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t8")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t8")
tdSql.checkData(0, 0, 50)
for i in range(25, 6000):
tdSql.execute("insert into t8 values(%d, 2)" % (self.ts + i))
tdSql.query("select * from t8")
tdSql.checkRows(6000)
tdSql.query("select sum(a) from t8")
tdSql.checkData(0, 0, 11975)
self.restartTaosd()
tdSql.query("select * from t8")
tdSql.checkRows(6000)
tdSql.query("select sum(a) from t8")
tdSql.checkData(0, 0, 11975)
print("==============step 9: UPDATE ONLY MIDDLE")
tdSql.execute("create table t9 (ts timestamp, a int)")
for i in range(50):
tdSql.execute("insert into t9 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t9")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t9")
tdSql.checkData(0, 0, 50)
for i in range(20, 30):
tdSql.execute("insert into t9 values(%d, 2)" % (self.ts + i))
tdSql.query("select * from t9")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t9")
tdSql.checkData(0, 0, 60)
self.restartTaosd()
tdSql.query("select * from t9")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t9")
tdSql.checkData(0, 0, 60)
print("==============step 10: A LOT OF DATA COVER THE WHOLE BLOCK")
tdSql.execute("create table t10 (ts timestamp, a int)")
for i in range(50):
tdSql.execute("insert into t10 values(%d, 1)" % (self.ts + i))
self.restartTaosd()
tdSql.query("select * from t10")
tdSql.checkRows(50)
tdSql.query("select sum(a) from t10")
tdSql.checkData(0, 0, 50)
for i in range(-4000, 4000):
tdSql.execute("insert into t10 values(%d, 2)" % (self.ts + i))
tdSql.query("select * from t10")
tdSql.checkRows(8000)
tdSql.query("select sum(a) from t10")
tdSql.checkData(0, 0, 16000)
self.restartTaosd()
tdSql.query("select * from t10")
tdSql.checkRows(8000)
tdSql.query("select sum(a) from t10")
tdSql.checkData(0, 0, 16000)
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册