352 lines
12 KiB
Python
352 lines
12 KiB
Python
###################################################################
|
|
# 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 *
|
|
|
|
|
|
class TDTestCase:
|
|
def init(self, conn, logSql):
|
|
tdLog.debug("start to execute %s" % __file__)
|
|
tdSql.init(conn.cursor(), logSql)
|
|
|
|
def run(self):
|
|
print("==========step1")
|
|
print("UPDATE THE WHOLE DATA BLOCK REPEATEDLY")
|
|
s = 'reset query cache'
|
|
tdSql.execute(s)
|
|
s = 'drop database if exists db'
|
|
tdSql.execute(s)
|
|
s = 'create database db days 30'
|
|
tdSql.execute(s)
|
|
s = 'use db'
|
|
tdSql.execute(s)
|
|
ret = tdSql.execute('create table t1 (ts timestamp, a int)')
|
|
|
|
insertRows = 200
|
|
t0 = 1603152000000
|
|
tdLog.info("insert %d rows" % (insertRows))
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t1 values (%d , 1)' %
|
|
(t0 + i))
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t1")
|
|
tdSql.checkRows(insertRows)
|
|
|
|
for k in range(0,10):
|
|
for i in range (0,insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t1 values(%d,1)' %
|
|
(t0+i)
|
|
)
|
|
tdSql.query("select * from t1")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t1")
|
|
tdSql.checkRows(insertRows)
|
|
print("==========step2")
|
|
print("PREPEND DATA ")
|
|
ret = tdSql.execute('create table t2 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t2 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t2")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t2")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(-100,0):
|
|
ret = tdSql.execute(
|
|
'insert into t2 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t2")
|
|
tdSql.checkRows(insertRows+100)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t2")
|
|
tdSql.checkRows(insertRows+100)
|
|
print("==========step3")
|
|
print("PREPEND MASSIVE DATA ")
|
|
ret = tdSql.execute('create table t3 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t3 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t3")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t3")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(-6000,0):
|
|
ret = tdSql.execute(
|
|
'insert into t3 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t3")
|
|
tdSql.checkRows(insertRows+6000)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t3")
|
|
tdSql.checkRows(insertRows+6000)
|
|
print("==========step4")
|
|
print("APPEND DATA")
|
|
ret = tdSql.execute('create table t4 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t4 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t4")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t4")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(0,100):
|
|
ret = tdSql.execute(
|
|
'insert into t4 values (%d , 1)' %
|
|
(t0+200+i))
|
|
tdSql.query("select * from t4")
|
|
tdSql.checkRows(insertRows+100)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t4")
|
|
tdSql.checkRows(insertRows+100)
|
|
print("==========step5")
|
|
print("APPEND DATA")
|
|
ret = tdSql.execute('create table t5 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t5 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t5")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t5")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(0,6000):
|
|
ret = tdSql.execute(
|
|
'insert into t5 values (%d , 1)' %
|
|
(t0+200+i))
|
|
tdSql.query("select * from t5")
|
|
tdSql.checkRows(insertRows+6000)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t5")
|
|
tdSql.checkRows(insertRows+6000)
|
|
print("==========step6")
|
|
print("UPDATE BLOCK IN TWO STEP")
|
|
ret = tdSql.execute('create table t6 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t6 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t6")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t6")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(0,100):
|
|
ret = tdSql.execute(
|
|
'insert into t6 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t6")
|
|
tdSql.checkRows(insertRows)
|
|
tdSql.query("select sum(a) from t6")
|
|
tdSql.checkData(0,0,'200')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t6")
|
|
tdSql.checkRows(insertRows)
|
|
tdSql.query("select sum(a) from t6")
|
|
tdSql.checkData(0,0,'200')
|
|
for i in range(0,200):
|
|
ret = tdSql.execute(
|
|
'insert into t6 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t6")
|
|
tdSql.checkRows(insertRows)
|
|
tdSql.query("select sum(a) from t6")
|
|
tdSql.checkData(0,0,'200')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t6")
|
|
tdSql.checkRows(insertRows)
|
|
tdSql.query("select sum(a) from t6")
|
|
tdSql.checkData(0,0,'200')
|
|
print("==========step7")
|
|
print("UPDATE LAST HALF AND INSERT LITTLE DATA")
|
|
ret = tdSql.execute('create table t7 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t7 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t7")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t7")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(100,300):
|
|
ret = tdSql.execute(
|
|
'insert into t7 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t7")
|
|
tdSql.checkRows(300)
|
|
tdSql.query("select sum(a) from t7")
|
|
tdSql.checkData(0,0,'400')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t7")
|
|
tdSql.checkRows(300)
|
|
tdSql.query("select sum(a) from t7")
|
|
tdSql.checkData(0,0,'400')
|
|
print("==========step8")
|
|
print("UPDATE LAST HALF AND INSERT MASSIVE DATA")
|
|
ret = tdSql.execute('create table t8 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t8 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t8")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t8")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(6000):
|
|
ret = tdSql.execute(
|
|
'insert into t8 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t8")
|
|
tdSql.checkRows(6000)
|
|
tdSql.query("select sum(a) from t8")
|
|
tdSql.checkData(0,0,'11800')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t8")
|
|
tdSql.checkRows(6000)
|
|
tdSql.query("select sum(a) from t8")
|
|
tdSql.checkData(0,0,'11800')
|
|
print("==========step9")
|
|
print("UPDATE FIRST HALF AND PREPEND LITTLE DATA")
|
|
ret = tdSql.execute('create table t9 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t9 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t9")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t9")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(-100,100):
|
|
ret = tdSql.execute(
|
|
'insert into t9 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t9")
|
|
tdSql.checkRows(300)
|
|
tdSql.query("select sum(a) from t9")
|
|
tdSql.checkData(0,0,'400')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t9")
|
|
tdSql.checkRows(300)
|
|
tdSql.query("select sum(a) from t9")
|
|
tdSql.checkData(0,0,'400')
|
|
print("==========step10")
|
|
print("UPDATE FIRST HALF AND PREPEND MASSIVE DATA")
|
|
ret = tdSql.execute('create table t10 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t10 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t10")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t10")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(-6000,100):
|
|
ret = tdSql.execute(
|
|
'insert into t10 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t10")
|
|
tdSql.checkRows(6200)
|
|
tdSql.query("select sum(a) from t10")
|
|
tdSql.checkData(0,0,'12200')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t10")
|
|
tdSql.checkRows(6200)
|
|
tdSql.query("select sum(a) from t10")
|
|
tdSql.checkData(0,0,'12200')
|
|
print("==========step11")
|
|
print("UPDATE FIRST HALF AND APPEND MASSIVE DATA")
|
|
ret = tdSql.execute('create table t11 (ts timestamp, a int)')
|
|
insertRows = 200
|
|
for i in range(0, insertRows):
|
|
ret = tdSql.execute(
|
|
'insert into t11 values (%d , 1)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t11")
|
|
tdSql.checkRows(insertRows)
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t11")
|
|
tdSql.checkRows(insertRows)
|
|
for i in range(100):
|
|
ret = tdSql.execute(
|
|
'insert into t11 values (%d , 2)' %
|
|
(t0+i))
|
|
for i in range(200,6000):
|
|
ret = tdSql.execute(
|
|
'insert into t11 values (%d , 2)' %
|
|
(t0+i))
|
|
tdSql.query("select * from t11")
|
|
tdSql.checkRows(6000)
|
|
tdSql.query("select sum(a) from t11")
|
|
tdSql.checkData(0,0,'11800')
|
|
tdDnodes.stop(1)
|
|
tdDnodes.start(1)
|
|
tdSql.query("select * from t11")
|
|
tdSql.checkRows(6000)
|
|
tdSql.query("select sum(a) from t11")
|
|
tdSql.checkData(0,0,'11800')
|
|
def stop(self):
|
|
tdSql.close()
|
|
tdLog.success("%s successfully executed" % __file__)
|
|
|
|
|
|
tdCases.addWindows(__file__, TDTestCase())
|
|
tdCases.addLinux(__file__, TDTestCase())
|