diff --git a/tests/pytest/alter/alter_table_crash.py b/tests/pytest/alter/alter_table_crash.py new file mode 100644 index 0000000000000000000000000000000000000000..903bb60e6a4af36970bbc8f6e38f9274fe434c70 --- /dev/null +++ b/tests/pytest/alter/alter_table_crash.py @@ -0,0 +1,83 @@ +################################################################### +# 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()) + + def run(self): + tdSql.prepare() + + print("==============Case 1: add column, restart taosd, drop the same colum then add it back") + tdSql.execute( + "create table st(ts timestamp, speed int) tags(loc nchar(20))") + tdSql.execute( + "insert into t1 using st tags('beijing') values(now, 1)") + tdSql.execute( + "alter table st add column tbcol binary(20)") + + # restart taosd + tdDnodes.forcestop(1) + tdDnodes.start(1) + + tdSql.execute( + "alter table st drop column tbcol") + tdSql.execute( + "alter table st add column tbcol binary(20)") + + tdSql.query("select * from st") + tdSql.checkRows(1) + + + print("==============Case 2: keep adding columns, restart taosd") + tdSql.execute( + "create table dt(ts timestamp, tbcol1 tinyint) tags(tgcol1 tinyint)") + tdSql.execute( + "alter table dt add column tbcol2 int") + tdSql.execute( + "alter table dt add column tbcol3 smallint") + tdSql.execute( + "alter table dt add column tbcol4 bigint") + tdSql.execute( + "alter table dt add column tbcol5 float") + tdSql.execute( + "alter table dt add column tbcol6 double") + tdSql.execute( + "alter table dt add column tbcol7 bool") + tdSql.execute( + "alter table dt add column tbcol8 nchar(20)") + tdSql.execute( + "alter table dt add column tbcol9 binary(20)") + + # restart taosd + tdDnodes.forcestop(1) + tdDnodes.start(1) + + tdSql.query("select * from st") + tdSql.checkRows(0) + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase()) diff --git a/tests/pytest/fulltest.sh b/tests/pytest/fulltest.sh index 691526cbe7611a417f359fe4794a7e3449296b9f..0bacd63ec14b69fbc0f03fab97651943cae9d9d4 100755 --- a/tests/pytest/fulltest.sh +++ b/tests/pytest/fulltest.sh @@ -141,7 +141,11 @@ python3 ./test.py -f query/filterAllIntTypes.py python3 ./test.py -f query/filterFloatAndDouble.py python3 ./test.py -f query/filterOtherTypes.py python3 ./test.py -f query/querySort.py +python3 ./test.py -f query/queryJoin.py #stream python3 ./test.py -f stream/stream1.py python3 ./test.py -f stream/stream2.py + +#alter table +python3 ./test.py -f alter/alter_table_crash.py \ No newline at end of file