diff --git a/tests/system-test/1-insert/db_tb_name_check.py b/tests/system-test/1-insert/db_tb_name_check.py new file mode 100644 index 0000000000..6418e0aa40 --- /dev/null +++ b/tests/system-test/1-insert/db_tb_name_check.py @@ -0,0 +1,84 @@ +################################################################### +# 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 -*- + +################################################################### +# 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 -*- + +from util.log import * +from util.cases import * +from util.sql import * +from util.common import * + +class TDTestCase: + + def init(self, conn, logSql): + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor()) + self.special_name = ['!','@','#','$','%','^','&','*','(',')','[',']','{','}',\ + ':',';','\'','\"',',','<','>','/','?','-','_','+','=','~'] + def db_name_check(self): + dbname = tdCom.getLongName(10) + for j in self.special_name: + for i in range(len(list(dbname))+1): + new_dbname = list(dbname) + new_dbname.insert(i,j) + dbname_1 = ''.join(new_dbname) + tdSql.execute(f'create database if not exists `{dbname_1}`') + tdSql.query('show databases') + tdSql.checkEqual(tdSql.queryResult[2][0],str(dbname_1)) + tdSql.execute(f'drop database `{dbname_1}`') + for i in range(len(list(dbname))+1): + new_dbname = list(dbname) + new_dbname.insert(i,'.') + dbname_1 = ''.join(new_dbname) + tdSql.error(f'create database if not exists `{dbname_1}`') + + def tb_name_check(self): + dbname = tdCom.getLongName(10) + tdSql.execute(f'create database if not exists `{dbname}`') + tdSql.execute(f'use `{dbname}`') + tbname = tdCom.getLongName(5) + special_name = self.special_name + special_name.append('.') + for i in special_name: + for j in range(len(list(tbname))+1): + tbname1 = list(tbname) + tbname1.insert(j,i) + new_tbname = ''.join(tbname1) + for sql in [f'{dbname}.`{new_tbname}`',f'`{new_tbname}`']: + tdSql.execute(f'create table {sql} (ts timestamp,c0 int)') + tdSql.execute(f'insert into {sql} values(now,1)') + tdSql.query(f'select * from {sql}') + tdSql.checkRows(1) + tdSql.execute(f'drop table {sql}') + + def run(self): + self.db_name_check() + self.tb_name_check() + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase())