88 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.7 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 threading
 | 
						|
import random
 | 
						|
import string
 | 
						|
import time
 | 
						|
 | 
						|
from util.log import *
 | 
						|
from util.cases import *
 | 
						|
from util.sql import *
 | 
						|
from util.autogen import *
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Test Main class
 | 
						|
#
 | 
						|
 | 
						|
class TDTestCase:
 | 
						|
    def init(self, conn, logSql, replicaVar=1):
 | 
						|
        self.replicaVar = int(replicaVar)
 | 
						|
        tdLog.debug("start to execute %s" % __file__)
 | 
						|
        tdSql.init(conn.cursor(), logSql)
 | 
						|
        self.autoGen = AutoGen()
 | 
						|
 | 
						|
    def query_test(self, stbname):
 | 
						|
        sql = f"select count(*) from {stbname}"
 | 
						|
        tdSql.execute(sql)
 | 
						|
        sql = f"select * from {stbname} order by ts desc;"
 | 
						|
        tdSql.execute(sql)
 | 
						|
        sql = f"select * from (select * from {stbname} where c1=c2 or c3=c4 or c5=c6) order by ts desc;"
 | 
						|
        tdSql.execute(sql)
 | 
						|
 | 
						|
        tdLog.info(" test query ok!")
 | 
						|
 | 
						|
 | 
						|
    def test_db(self, dbname, stbname, childname, tag_cnt, column_cnt, child_cnt, insert_rows, binary_len, nchar_len):    
 | 
						|
        self.autoGen.create_db(dbname)
 | 
						|
        self.autoGen.create_stable(stbname, tag_cnt, column_cnt, binary_len, nchar_len)
 | 
						|
        self.autoGen.create_child(stbname, childname, child_cnt)
 | 
						|
        self.autoGen.insert_data(insert_rows)
 | 
						|
        self.autoGen.insert_samets(insert_rows)
 | 
						|
        self.query_test(stbname)
 | 
						|
 | 
						|
    def run(self):  
 | 
						|
        dbname = "test"
 | 
						|
        stbname = "st"
 | 
						|
        childname = "d"
 | 
						|
        child_cnt = 2
 | 
						|
        insert_rows = 10
 | 
						|
        tag_cnt    = 15
 | 
						|
        column_cnt = 20
 | 
						|
        binary_len = 10240
 | 
						|
        nchar_len =  1025
 | 
						|
        self.autoGen.set_batch_size(1)
 | 
						|
        
 | 
						|
        # normal
 | 
						|
        self.test_db(dbname, stbname, childname, tag_cnt, column_cnt, child_cnt, insert_rows, binary_len, nchar_len)
 | 
						|
 | 
						|
        # max
 | 
						|
        dbname = "test_max_col"
 | 
						|
        child_cnt = 3
 | 
						|
        insert_rows = 50
 | 
						|
        tag_cnt = 128
 | 
						|
        binary_len = 3
 | 
						|
        nchar_len = 4
 | 
						|
        column_cnt = 4096 - tag_cnt
 | 
						|
        self.autoGen.set_batch_size(1)
 | 
						|
        self.test_db(dbname, stbname, childname, tag_cnt, column_cnt, child_cnt, insert_rows, binary_len, nchar_len)
 | 
						|
 | 
						|
    def stop(self):
 | 
						|
        tdSql.close()
 | 
						|
        tdLog.success("%s successfully executed" % __file__)
 | 
						|
 | 
						|
tdCases.addWindows(__file__, TDTestCase())
 | 
						|
tdCases.addLinux(__file__, TDTestCase())
 |