202 lines
7.5 KiB
Python
202 lines
7.5 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 os
|
|
import frame
|
|
import frame.etool
|
|
from frame.log import *
|
|
from frame.cases import *
|
|
from frame.sql import *
|
|
from frame.caseBase import *
|
|
from frame import *
|
|
|
|
|
|
class TDTestCase(TBase):
|
|
|
|
# pylint: disable=R0201
|
|
|
|
def run(self):
|
|
tdSql.query("select client_version()")
|
|
client_ver = "".join(tdSql.res[0])
|
|
major_ver = client_ver.split(".")[0]
|
|
|
|
binPath = etool.benchMarkFile()
|
|
if binPath == "":
|
|
tdLog.exit("taosBenchmark not found!")
|
|
else:
|
|
tdLog.info("taosBenchmark use %s" % binPath)
|
|
|
|
# insert: sample json
|
|
os.system("%s -f ./tools/benchmark/basic/json/insert-sample-ts-stmt.json -y " % binPath)
|
|
tdSql.execute("use dbtest123")
|
|
tdSql.query("select c2 from stb0")
|
|
tdSql.checkData(0, 0, 2147483647)
|
|
if major_ver == "2":
|
|
tdSql.query("select c0 from stb0_0 order by ts")
|
|
tdSql.checkData(3, 0, 4)
|
|
tdSql.query("select count(*) from stb0 order by ts")
|
|
tdSql.checkData(0, 0, 40)
|
|
tdSql.query("select * from stb0_1 order by ts")
|
|
tdSql.checkData(0, 0, "2021-10-28 15:34:44.735")
|
|
tdSql.checkData(3, 0, "2021-10-31 15:34:44.735")
|
|
tdSql.query("select * from stb1 where t1=-127")
|
|
tdSql.checkRows(20)
|
|
tdSql.query("select * from stb1 where t2=127")
|
|
tdSql.checkRows(10)
|
|
tdSql.query("select * from stb1 where t2=126")
|
|
tdSql.checkRows(10)
|
|
|
|
# insert: timestamp and step
|
|
os.system("%s -f ./tools/benchmark/basic/json/insert-timestep-stmt.json -y " % binPath)
|
|
tdSql.execute("use db")
|
|
tdSql.query("show stables")
|
|
if major_ver == "3":
|
|
tdSql.query("select count (*) from (select distinct(tbname) from stb0)")
|
|
else:
|
|
tdSql.query("select count (tbname) from stb0")
|
|
tdSql.checkData(0, 0, 10)
|
|
if major_ver == "3":
|
|
tdSql.query("select count (*) from (select distinct(tbname) from stb1)")
|
|
else:
|
|
tdSql.query("select count (tbname) from stb1")
|
|
tdSql.checkData(0, 0, 20)
|
|
tdSql.query("select last(ts) from db.stb00_0")
|
|
tdSql.checkData(0, 0, "2020-10-01 00:00:00.019000")
|
|
tdSql.query("select count(*) from stb0")
|
|
tdSql.checkData(0, 0, 200)
|
|
tdSql.query("select last(ts) from db.stb01_0")
|
|
tdSql.checkData(0, 0, "2020-11-01 00:00:00.190000")
|
|
tdSql.query("select count(*) from stb1")
|
|
tdSql.checkData(0, 0, 400)
|
|
|
|
# # insert: disorder_ratio
|
|
os.system(
|
|
"%s -f ./tools/benchmark/basic/json/insert-disorder-stmt.json 2>&1 -y " % binPath
|
|
)
|
|
tdSql.execute("use db")
|
|
if major_ver == "3":
|
|
tdSql.query("select count (*) from (select distinct(tbname) from stb0)")
|
|
else:
|
|
tdSql.query("select count (tbname) from stb0")
|
|
tdSql.checkData(0, 0, 1)
|
|
if major_ver == "3":
|
|
tdSql.query("select count (*) from (select distinct(tbname) from stb1)")
|
|
else:
|
|
tdSql.query("select count (tbname) from stb1")
|
|
tdSql.checkData(0, 0, 1)
|
|
tdSql.query("select count(*) from stb0")
|
|
tdSql.checkData(0, 0, 10)
|
|
tdSql.query("select count(*) from stb1")
|
|
tdSql.checkData(0, 0, 10)
|
|
|
|
# insert: sample json
|
|
# os.system("%staosBenchmark -f 5-taos-tools/taosbenchmark/stmt/insert-sample-stmt.json -y " % binPath)
|
|
# tdSql.execute("use dbtest123")
|
|
# tdSql.query("select c2 from stb0")
|
|
# tdSql.checkData(0, 0, 2147483647)
|
|
# tdSql.query("select * from stb1 where t1=-127")
|
|
# tdSql.checkRows(20)
|
|
# tdSql.query("select * from stb1 where t2=127")
|
|
# tdSql.checkRows(10)
|
|
# tdSql.query("select * from stb1 where t2=126")
|
|
# tdSql.checkRows(10)
|
|
|
|
# insert: test interlace parament
|
|
os.system(
|
|
"%s -f ./tools/benchmark/basic/json/insert-interlace-row-stmt.json -y " % binPath
|
|
)
|
|
tdSql.execute("use db")
|
|
if major_ver == "3":
|
|
tdSql.query("select count (*) from (select distinct(tbname) from stb0)")
|
|
else:
|
|
tdSql.query("select count (tbname) from stb0")
|
|
tdSql.checkData(0, 0, 100)
|
|
tdSql.query("select count (*) from stb0")
|
|
tdSql.checkData(0, 0, 15000)
|
|
|
|
# insert: auto_create
|
|
|
|
tdSql.execute("drop database if exists db")
|
|
tdSql.execute("create database db")
|
|
tdSql.execute("use db")
|
|
os.system(
|
|
"%s -y -f ./tools/benchmark/basic/json/insert-drop-exist-auto-N00-stmt.json "
|
|
% binPath
|
|
) # drop = no, child_table_exists, auto_create_table varies
|
|
tdSql.execute("use db")
|
|
tdSql.query(
|
|
"show tables like 'NN123%'"
|
|
) # child_table_exists = no, auto_create_table varies = 123
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'NNN%'"
|
|
) # child_table_exists = no, auto_create_table varies = no
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'NNY%'"
|
|
) # child_table_exists = no, auto_create_table varies = yes
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'NYN%'"
|
|
) # child_table_exists = yes, auto_create_table varies = no
|
|
tdSql.checkRows(0)
|
|
tdSql.query(
|
|
"show tables like 'NY123%'"
|
|
) # child_table_exists = yes, auto_create_table varies = 123
|
|
tdSql.checkRows(0)
|
|
tdSql.query(
|
|
"show tables like 'NYY%'"
|
|
) # child_table_exists = yes, auto_create_table varies = yes
|
|
tdSql.checkRows(0)
|
|
|
|
tdSql.execute("drop database if exists db")
|
|
os.system(
|
|
"%s -y -f ./tools/benchmark/basic/json/insert-drop-exist-auto-Y00-stmt.json "
|
|
% binPath
|
|
) # drop = yes, child_table_exists, auto_create_table varies
|
|
tdSql.execute("use db")
|
|
tdSql.query(
|
|
"show tables like 'YN123%'"
|
|
) # child_table_exists = no, auto_create_table varies = 123
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'YNN%'"
|
|
) # child_table_exists = no, auto_create_table varies = no
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'YNY%'"
|
|
) # child_table_exists = no, auto_create_table varies = yes
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'YYN%'"
|
|
) # child_table_exists = yes, auto_create_table varies = no
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'YY123%'"
|
|
) # child_table_exists = yes, auto_create_table varies = 123
|
|
tdSql.checkRows(20)
|
|
tdSql.query(
|
|
"show tables like 'YYY%'"
|
|
) # child_table_exists = yes, auto_create_table varies = yes
|
|
tdSql.checkRows(20)
|
|
|
|
os.system("rm -rf ./insert_res.txt")
|
|
|
|
def stop(self):
|
|
tdSql.close()
|
|
tdLog.success("%s successfully executed" % __file__)
|
|
|
|
|
|
tdCases.addWindows(__file__, TDTestCase())
|
|
tdCases.addLinux(__file__, TDTestCase())
|