diff --git a/tests/pytest/insert/maxSqlLength.py b/tests/pytest/insert/maxSqlLength.py new file mode 100644 index 0000000000000000000000000000000000000000..ad76d24a3fdc36b9ea40de37f4e25c1e4d88ba6c --- /dev/null +++ b/tests/pytest/insert/maxSqlLength.py @@ -0,0 +1,93 @@ +################################################################### +# 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 datetime +from util.log import * +from util.cases import * +from util.sql import * +from util.dnodes import * +import string +import random + + +class TDTestCase: + def init(self, conn, logSql): + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor(), logSql) + + self.ts = 1537146000000 + + def get_random_string(self, length): + letters = string.ascii_lowercase + result_str = ''.join(random.choice(letters) for i in range(length)) + return result_str + + def run(self): + tdSql.prepare() + + tdSql.execute("create table tb(ts timestamp, name1 binary(1000), name2 binary(1000), name3 binary(1000))") + + sql = "insert into tb values" + for i in range(21): + value = self.get_random_string(1000) + sql += "(%d, '%s', '%s', '%s')" % (self.ts + i, value, value, value) + tdSql.execute(sql) + + self.ts += 21 + for i in range(22): + value = self.get_random_string(1000) + sql += "(%d, '%s', '%s', '%s')" % (self.ts + i, value, value, value) + tdSql.error(sql) + + tdSql.query("select * from tb") + tdSql.checkRows(21) + + tdDnodes.stop(1) + tdDnodes.setTestCluster(False) + tdDnodes.setValgrind(False) + tdDnodes.addSimExtraCfg("maxSQLLength", "1048576") + tdDnodes.deploy(1) + tdDnodes.cfg(1, "maxSQLLength", "1048576") + tdLog.sleep(20) + tdDnodes.start(1) + + + tdSql.prepare() + tdSql.execute("create table tb(ts timestamp, name1 binary(1000), name2 binary(1000), name3 binary(1000))") + + sql = "insert into tb values" + for i in range(22): + value = self.get_random_string(1000) + sql += "(%d, '%s', '%s', '%s')" % (self.ts + i, value, value, value) + tdSql.execute(sql) + + tdSql.query("select * from tb") + tdSql.checkRows(43) + + # self.ts += 43 + # for i in range(330): + # value = self.get_random_string(1000) + # sql += "(%d, '%s', '%s', '%s')" % (self.ts + i, value, value, value) + # tdSql.execute(sql) + + # tdSql.query("select * from tb") + # tdSql.checkRows(379) + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase())