add testcase for update
This commit is contained in:
parent
9c289dd762
commit
b636d216b9
|
@ -0,0 +1,70 @@
|
|||
###################################################################
|
||||
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is proprietary and confidential to TAOS Technologies.
|
||||
# No part of this file may be reproduced, stored, transmitted,
|
||||
# disclosed or used in any form or by any means other than as
|
||||
# expressly provided by the written permission from Jianhui Tao
|
||||
#
|
||||
###################################################################
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import taos
|
||||
from util.log import tdLog
|
||||
from util.cases import tdCases
|
||||
from util.sql import tdSql
|
||||
from util.dnodes import tdDnodes
|
||||
|
||||
|
||||
class TDTestCase:
|
||||
"""
|
||||
kill query
|
||||
"""
|
||||
|
||||
def init(self, conn, logSql):
|
||||
tdLog.debug("start to execute %s" % __file__)
|
||||
tdSql.init(conn.cursor(), logSql)
|
||||
|
||||
def run(self):
|
||||
tdSql.prepare()
|
||||
|
||||
print("==============step1")
|
||||
tdSql.execute("create database if not exists demo;");
|
||||
tdSql.execute("use demo;")
|
||||
tdSql.execute("CREATE TABLE IF NOT EXISTS demo1 (ts TIMESTAMP, f1 int);")
|
||||
ts = 1300000000000
|
||||
|
||||
for i in range(1000):
|
||||
tdSql.execute(" insert into demo1 values({ts}, {data});".format(ts=ts, data=i))
|
||||
ts += 1
|
||||
|
||||
print("==============insert into test1 and test2 form test file")
|
||||
|
||||
|
||||
|
||||
print("==============step2")
|
||||
while True:
|
||||
tdSql.query('select * from demo1;')
|
||||
print('==============', len(tdSql.queryResult))
|
||||
with open(ordered_csv) as f1:
|
||||
num1 = len(f1.readlines())
|
||||
tdSql.checkRows(num1)
|
||||
|
||||
|
||||
tdSql.query('select * from test2;')
|
||||
with open(disordered_csv) as f2:
|
||||
num2 = len(f2.readlines())
|
||||
tdSql.checkRows(num2)
|
||||
print("=============execute select count(*) from xxx")
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -1,153 +1,352 @@
|
|||
# clear env set up
|
||||
###################################################################
|
||||
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is proprietary and confidential to TAOS Technologies.
|
||||
# No part of this file may be reproduced, stored, transmitted,
|
||||
# disclosed or used in any form or by any means other than as
|
||||
# expressly provided by the written permission from Jianhui Tao
|
||||
#
|
||||
###################################################################
|
||||
|
||||
$t0 = 1603152000000
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
create database db update 1 days 30;
|
||||
import sys
|
||||
from util.log import *
|
||||
from util.cases import *
|
||||
from util.sql import *
|
||||
from util.dnodes import *
|
||||
import time
|
||||
|
||||
## Step 1. UPDATE TWO WHOLE DATA BLOCK REPEATEDLY
|
||||
create table t1 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t1 values ($t0 + $i, 1);
|
||||
}
|
||||
|
||||
restart to commit
|
||||
check query result
|
||||
class TDTestCase:
|
||||
def init(self, conn, logSql):
|
||||
tdLog.debug("start to execute %s" % __file__)
|
||||
tdSql.init(conn.cursor(), logSql)
|
||||
|
||||
|
||||
def restart_taosd(self,db):
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.startWithoutSleep(1)
|
||||
tdSql.execute("use %s;" % db)
|
||||
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t1 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
def date_to_timestamp_microseconds(self, date):
|
||||
datetime_obj = datetime.strptime(date, "%Y-%m-%d %H:%M:%S.%f")
|
||||
obj_stamp = int(time.mktime(datetime_obj.timetuple()) * 1000.0 + datetime_obj.microsecond / 1000.0)
|
||||
return obj_stamp
|
||||
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
def timestamp_microseconds_to_date(self, timestamp):
|
||||
d = datetime.datetime.fromtimestamp(timestamp/1000)
|
||||
str1 = d.strftime("%Y-%m-%d %H:%M:%S.%f")
|
||||
return str1
|
||||
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t1 values ($t0 + $i, 2);
|
||||
}
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t1 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
|
||||
## Step 2. INSERT IN MIDDLE LITTLE DATA REPEATEDLY
|
||||
create table t2 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t2 values ($t0 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t2 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
|
||||
for ($k = 0; $k < 10; $k++) {
|
||||
for ($i = 0; $i < 10; $i++) {
|
||||
insert into t2 values ($t0 + 200 + $k * 10 + $i, 1);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
}
|
||||
def run(self):
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
sql = 'reset query cache'
|
||||
tdSql.execute(sql)
|
||||
sql = 'drop database if exists db'
|
||||
tdSql.execute(sql)
|
||||
sql = 'create database db update 1 days 30;'
|
||||
tdSql.execute(sql)
|
||||
sql = 'use db;'
|
||||
tdSql.execute(sql)
|
||||
tdSql.execute('create table t1 (ts timestamp, a int)')
|
||||
|
||||
## Step 3. INSERT IN MIDDLE AND UPDATE TWO BLOCKS
|
||||
create table t3 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t3 values ($t0 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t3 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
|
||||
for ($i = 0; $i < 5200; $i++) {
|
||||
insert into t3 values ($t0 + $i, 2);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
print("==================================1 start")
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 1)' %(t0+i))
|
||||
print("==========step2")
|
||||
print("restart to commit ")
|
||||
self.restart_taosd('db')
|
||||
|
||||
## Step 4. INSERT IN MIDDLE AND UPDATE FIRST HALF OF TWO BLOCKS
|
||||
create table t4 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t4 values ($t0 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t4 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
for i in range(insert_rows):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
for ($i = 0; $i < 100; $i++) {
|
||||
insert into t4 values ($t0 + $i, 2);
|
||||
}
|
||||
for ($i = 200; $i < 5000; $i++) {
|
||||
insert into t4 values ($t0 + $i, 2);
|
||||
}
|
||||
for ($i = 0; $i < 100; $i++) {
|
||||
insert into t4 values ($t0 + 5000 + $i, 2);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
print("==========step3")
|
||||
print('insert data')
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 1)' %(t0+i+5000))
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
## Step 5. INSERT IN MIDDLE AND UPDATE last HALF OF TWO BLOCKS
|
||||
create table t5 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t5 values ($t0 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t5 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
self.restart_taosd('db')
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
for ($i = 100; $i < 200; $i++) {
|
||||
insert into t5 values ($t0 + $i, 2);
|
||||
}
|
||||
for ($i = 200; $i < 5000; $i++) {
|
||||
insert into t5 values ($t0 + $i, 2);
|
||||
}
|
||||
for ($i = 100; $i < 200; $i++) {
|
||||
insert into t5 values ($t0 + 5000 + $i, 2);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
print("==========step4")
|
||||
print('insert data')
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 2)' %(t0+i))
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 1)' %(t0+i+5000))
|
||||
|
||||
## Step 6. INSERT MASSIVE DATA AND UPDATE ALL BLOCKS
|
||||
create table t6 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t6 values ($t0 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t6 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
print(tdSql.queryResult)
|
||||
for i in range(insert_rows):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
for ($i = -1000; $i < 10000; $i++) {
|
||||
insert into t6 values ($t0 + $i, 2);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t1;')
|
||||
# print(tdSql.queryResult)
|
||||
for i in range(insert_rows):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
## Step 7. SPLIT DATA BLOCK
|
||||
create table t7 (ts timestamp, a int);
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t7 values ($t0 + $i, 1);
|
||||
}
|
||||
for ($i = 0; $i < 200; $i++) {
|
||||
insert into t7 values ($t0 + 5000 + $i, 1);
|
||||
}
|
||||
restart to commit
|
||||
print("==================================2 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t2 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t2 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t2 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for ($i = -1000; $i < 10000; $i++) {
|
||||
insert into t7 values ($t0 + $i, 2);
|
||||
}
|
||||
check query result
|
||||
restart to commit
|
||||
check query result
|
||||
for k in range(10):
|
||||
for i in range(10):
|
||||
tdSql.execute('insert into t2 values (%d , 1)' %(t0 + 200 + k * 10 + i))
|
||||
print('insert into t2 values (%d , 1)' %(t0 + 200 + k * 10 + i))
|
||||
|
||||
|
||||
print("==========step2")
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t2;')
|
||||
for i in range(insert_rows*2+100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
# print(tdSql.queryResult)
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t2;')
|
||||
for i in range(insert_rows*2+100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
|
||||
print("==================================3 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t3 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t3 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t3 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(5200):
|
||||
tdSql.execute('insert into t3 values (%d , 2)' %(t0+i))
|
||||
|
||||
print("==========step2")
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t3;')
|
||||
for i in range(5200):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
# print(tdSql.queryResult)
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t3;')
|
||||
for i in range(5200):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print("==================================4 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t4 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t4 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t4 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(100):
|
||||
tdSql.execute('insert into t4 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(200, 5000):
|
||||
tdSql.execute('insert into t4 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(100):
|
||||
tdSql.execute('insert into t4 values (%d , 1)' %(t0+i+5000))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t4;')
|
||||
for i in range(100):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(100, 200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t4;')
|
||||
for i in range(100):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(100, 200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print("==================================5 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t5 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t5 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t5 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(100, 200):
|
||||
tdSql.execute('insert into t5 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(200, 5000):
|
||||
tdSql.execute('insert into t5 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(100, 200):
|
||||
tdSql.execute('insert into t5 values (%d , 2)' %(t0+i+5000))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t5;')
|
||||
for i in range(100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(100, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(5100, 5200):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t5;')
|
||||
for i in range(100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(100, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(5100, 5200):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print("==================================6 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t6 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t6 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t6 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(-1000, 10000):
|
||||
tdSql.execute('insert into t6 values (%d , 2)' %(t0+i))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t6;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t6;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
|
||||
print("==================================7 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t7 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t7 values (%d , 1)' %(t0+i))
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t7 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(-1000, 10000):
|
||||
tdSql.execute('insert into t7 values (%d , 2)' %(t0+i))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t7;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t7;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
||||
|
|
|
@ -0,0 +1,384 @@
|
|||
###################################################################
|
||||
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is proprietary and confidential to TAOS Technologies.
|
||||
# No part of this file may be reproduced, stored, transmitted,
|
||||
# disclosed or used in any form or by any means other than as
|
||||
# expressly provided by the written permission from Jianhui Tao
|
||||
#
|
||||
###################################################################
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
from util.log import *
|
||||
from util.cases import *
|
||||
from util.sql import *
|
||||
from util.dnodes import *
|
||||
import time
|
||||
|
||||
|
||||
class TDTestCase:
|
||||
def init(self, conn, logSql):
|
||||
tdLog.debug("start to execute %s" % __file__)
|
||||
tdSql.init(conn.cursor(), logSql)
|
||||
|
||||
|
||||
def restart_taosd(self,db):
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.startWithoutSleep(1)
|
||||
tdSql.execute("use %s;" % db)
|
||||
|
||||
def date_to_timestamp_microseconds(self, date):
|
||||
datetime_obj = datetime.strptime(date, "%Y-%m-%d %H:%M:%S.%f")
|
||||
obj_stamp = int(time.mktime(datetime_obj.timetuple()) * 1000.0 + datetime_obj.microsecond / 1000.0)
|
||||
return obj_stamp
|
||||
|
||||
def timestamp_microseconds_to_date(self, timestamp):
|
||||
d = datetime.datetime.fromtimestamp(timestamp/1000)
|
||||
str1 = d.strftime("%Y-%m-%d %H:%M:%S.%f")
|
||||
return str1
|
||||
|
||||
|
||||
|
||||
def run(self):
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
sql = 'reset query cache'
|
||||
tdSql.execute(sql)
|
||||
sql = 'drop database if exists db'
|
||||
tdSql.execute(sql)
|
||||
sql = 'create database db update 0 days 30;'
|
||||
tdSql.execute(sql)
|
||||
sql = 'use db;'
|
||||
tdSql.execute(sql)
|
||||
tdSql.execute('create table t1 (ts timestamp, a int)')
|
||||
|
||||
|
||||
print("==================================1 start")
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 1)' %(t0+i))
|
||||
print("==========step2")
|
||||
print("restart to commit ")
|
||||
self.restart_taosd('db')
|
||||
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
for i in range(insert_rows):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print("==========step3")
|
||||
print('insert data')
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 1)' %(t0+i+5000))
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
self.restart_taosd('db')
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print("==========step4")
|
||||
print('insert data')
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 2)' %(t0+i))
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t1 values (%d , 1)' %(t0+i+5000))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t1;')
|
||||
print(tdSql.queryResult)
|
||||
for i in range(insert_rows):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t1;')
|
||||
# print(tdSql.queryResult)
|
||||
for i in range(insert_rows):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(insert_rows, insert_rows*2):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print("==================================2 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t2 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t2 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t2 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for k in range(10):
|
||||
for i in range(10):
|
||||
tdSql.execute('insert into t2 values (%d , 1)' %(t0 + 200 + k * 10 + i))
|
||||
# print('insert into t2 values (%d , 1)' %(t0 + 200 + k * 10 + i))
|
||||
|
||||
|
||||
print("==========step2")
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t2;')
|
||||
for i in range(insert_rows*2+100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
# print(tdSql.queryResult)
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t2;')
|
||||
for i in range(insert_rows*2+100):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
|
||||
print("==================================3 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t3 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t3 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t3 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(5200):
|
||||
tdSql.execute('insert into t3 values (%d , 2)' %(t0+i))
|
||||
|
||||
print("==========step2")
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t3;')
|
||||
for i in range(200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
# print(tdSql.queryResult)
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
print('check query result after restart')
|
||||
tdSql.query('select * from db.t3;')
|
||||
for i in range(200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print("==================================4 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t4 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t4 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t4 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(100):
|
||||
tdSql.execute('insert into t4 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(200, 5000):
|
||||
tdSql.execute('insert into t4 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(100):
|
||||
tdSql.execute('insert into t4 values (%d , 1)' %(t0+i+5000))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t4;')
|
||||
for i in range(200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t4;')
|
||||
for i in range(200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
#
|
||||
print("==================================5 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t5 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t5 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t5 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(100, 200):
|
||||
tdSql.execute('insert into t5 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(200, 5000):
|
||||
tdSql.execute('insert into t5 values (%d , 2)' %(t0+i))
|
||||
|
||||
for i in range(100, 200):
|
||||
tdSql.execute('insert into t5 values (%d , 2)' %(t0+i+5000))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t5;')
|
||||
for i in range(200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t5;')
|
||||
for i in range(200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(200, 5000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(5000, 5200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
|
||||
print("==================================6 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t6 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t6 values (%d , 1)' %(t0+i))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t6 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(-1000, 10000):
|
||||
tdSql.execute('insert into t6 values (%d , 2)' %(t0+i))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t6;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(1000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(1000,1200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(1200,6000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(6000,6200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(6200, 11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t6;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(1000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(1000,1200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(1200,6000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(6000,6200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(6200, 11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
|
||||
print("==================================7 start")
|
||||
print("==========step1")
|
||||
print("create table && insert data")
|
||||
tdSql.execute('create table t7 (ts timestamp, a int)')
|
||||
insert_rows = 200
|
||||
t0 = 1603152000000
|
||||
tdLog.info("insert %d rows" % insert_rows)
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t7 values (%d , 1)' %(t0+i))
|
||||
|
||||
for i in range(insert_rows):
|
||||
tdSql.execute('insert into t7 values (%d , 1)' %(t0+i+5000))
|
||||
print('restart to commit')
|
||||
self.restart_taosd('db')
|
||||
|
||||
for i in range(-1000, 10000):
|
||||
tdSql.execute('insert into t7 values (%d , 2)' %(t0+i))
|
||||
|
||||
print('check query result before restart')
|
||||
tdSql.query('select * from db.t7;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(1000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(1000,1200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(1200,6000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(6000,6200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(6200, 11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
print('check query result after restart')
|
||||
self.restart_taosd('db')
|
||||
tdSql.query('select * from db.t7;')
|
||||
tdSql.checkRows(11000)
|
||||
for i in range(1000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(1000,1200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(1200,6000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
for i in range(6000,6200):
|
||||
tdSql.checkData(i, 1, 1)
|
||||
for i in range(6200, 11000):
|
||||
tdSql.checkData(i, 1, 2)
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
Loading…
Reference in New Issue