86 lines
2.8 KiB
Python
86 lines
2.8 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
|
|
import taos
|
|
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):
|
|
self.ntables = 1
|
|
self.startTime = 1520000010000
|
|
|
|
tdDnodes.stop(1)
|
|
tdDnodes.deploy(1)
|
|
tdDnodes.start(1)
|
|
tdSql.execute('reset query cache')
|
|
tdSql.execute('drop database if exists db')
|
|
tdSql.execute('create database db cache 128')
|
|
tdSql.execute('use db')
|
|
|
|
tdLog.info("================= step1")
|
|
tdLog.info("create 1 table")
|
|
tdSql.execute('create table tb1 (ts timestamp, i int)')
|
|
tdLog.info(
|
|
"one block can import 38 records and totally there are 40 blocks")
|
|
|
|
tdLog.info("================= step2")
|
|
tdLog.info('insert data until the first commit')
|
|
dnodesDir = tdDnodes.getDnodesRootDir()
|
|
dataDir = dnodesDir + '/dnode1/data/vnode'
|
|
startTime = self.startTime
|
|
rid0 = 1
|
|
while (True):
|
|
sqlcmd = 'insert into tb1 values(%ld, %d)' % (
|
|
startTime + rid0 * 2, rid0)
|
|
tdSql.execute(sqlcmd)
|
|
rid0 += 1
|
|
vnodes = os.listdir(dataDir)
|
|
if (len(vnodes) > 0):
|
|
tdLog.info("data is committed, stop inserting")
|
|
break
|
|
|
|
tdLog.info("================= step5")
|
|
tdLog.info("import 1 data before ")
|
|
startTime = self.startTime
|
|
sqlcmd = ['import into tb1 values']
|
|
for rid in range(3, 4):
|
|
sqlcmd.append('(%ld, %d)' % (startTime + rid, rid))
|
|
tdSql.execute(" ".join(sqlcmd))
|
|
|
|
tdLog.info("================= step6")
|
|
tdSql.execute('reset query cache')
|
|
tdSql.query('select * from tb1 order by ts desc')
|
|
tdSql.checkRows(rid0 - 1 + 1)
|
|
|
|
tdLog.info("================= step7")
|
|
tdSql.execute('reset query cache')
|
|
tdSql.query('select count(*) from tb1')
|
|
tdSql.checkData(0, 0, rid0 - 1 + 1)
|
|
|
|
def stop(self):
|
|
tdSql.close()
|
|
tdLog.success("%s successfully executed" % __file__)
|
|
|
|
|
|
tdCases.addWindows(__file__, TDTestCase())
|
|
tdCases.addLinux(__file__, TDTestCase())
|