未验证 提交 f1f7d6f8 编写于 作者: sangshuduo's avatar sangshuduo 提交者: GitHub

fix: tools/taosdumpTest2.py for 3.0 (#15691)

* fix: tools/taosdumpTest2.py for 3.0

* fix: tools/taosdumpTestNanoSupport.py for 3.0
上级 d6ce40ea
...@@ -35,7 +35,7 @@ class TDTestCase: ...@@ -35,7 +35,7 @@ class TDTestCase:
else: else:
return True return True
def getBuildPath(self): def getPath(self, tool="taosdump"):
selfPath = os.path.dirname(os.path.realpath(__file__)) selfPath = os.path.dirname(os.path.realpath(__file__))
if ("community" in selfPath): if ("community" in selfPath):
...@@ -43,25 +43,33 @@ class TDTestCase: ...@@ -43,25 +43,33 @@ class TDTestCase:
else: else:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
paths = []
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosdump" in files): if ((tool) in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] paths.append(os.path.join(root, tool))
break break
return buildPath if (len(paths) == 0):
return ""
return paths[0]
def run(self): def run(self):
if not os.path.exists("./taosdumptest/tmp1"): if not os.path.exists("./taosdumptest/tmp1"):
os.makedirs("./taosdumptest/tmp1") os.makedirs("./taosdumptest/tmp1")
else: else:
print("目录存在") os.system("rm -rf ./taosdumptest/tmp1")
os.makedirs("./taosdumptest/tmp1")
if not os.path.exists("./taosdumptest/tmp2"): if not os.path.exists("./taosdumptest/tmp2"):
os.makedirs("./taosdumptest/tmp2") os.makedirs("./taosdumptest/tmp2")
else:
os.system("rm -rf ./taosdumptest/tmp2")
os.makedirs("./taosdumptest/tmp2")
tdSql.execute("drop database if exists db") tdSql.execute("drop database if exists db")
tdSql.execute("create database db duration 11 keep 3649 blocks 8 ") tdSql.execute("create database db duration 11 keep 3649")
tdSql.execute("create database db1 duration 12 keep 3640 blocks 7 ") tdSql.execute("create database db1 duration 12 keep 3640")
tdSql.execute("use db") tdSql.execute("use db")
tdSql.execute( tdSql.execute(
"create table st(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int, t2 binary(10))") "create table st(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int, t2 binary(10))")
...@@ -78,31 +86,30 @@ class TDTestCase: ...@@ -78,31 +86,30 @@ class TDTestCase:
sql += "(%d, %d, 'nchar%d')" % (currts + i, i % 100, i % 100) sql += "(%d, %d, 'nchar%d')" % (currts + i, i % 100, i % 100)
tdSql.execute(sql) tdSql.execute(sql)
buildPath = self.getBuildPath() binPath = self.getPath()
if (buildPath == ""): if (binPath == ""):
tdLog.exit("taosdump not found!") tdLog.exit("taosdump not found!")
else: else:
tdLog.info("taosdump found in %s" % buildPath) tdLog.info("taosdump found: %s" % binPath)
binPath = buildPath + "/build/bin/"
os.system("%staosdump --databases db -o ./taosdumptest/tmp1" % binPath) os.system("%s -y --databases db -o ./taosdumptest/tmp1" % binPath)
os.system( os.system(
"%staosdump --databases db1 -o ./taosdumptest/tmp2" % "%s -y --databases db1 -o ./taosdumptest/tmp2" %
binPath) binPath)
tdSql.execute("drop database db") tdSql.execute("drop database db")
tdSql.execute("drop database db1") tdSql.execute("drop database db1")
tdSql.query("show databases") tdSql.query("show databases")
tdSql.checkRows(0) tdSql.checkRows(2)
os.system("%staosdump -i ./taosdumptest/tmp1" % binPath) os.system("%s -i ./taosdumptest/tmp1" % binPath)
os.system("%staosdump -i ./taosdumptest/tmp2" % binPath) os.system("%s -i ./taosdumptest/tmp2" % binPath)
tdSql.execute("use db") tdSql.execute("use db")
tdSql.query("show databases") tdSql.query("show databases")
tdSql.checkRows(2) tdSql.checkRows(4)
dbresult = tdSql.queryResult dbresult = tdSql.queryResult
# 6--duration,7--keep0,keep1,keep, 12--block, # 6--duration,7--keep0,keep1,keep
isCommunity = self.checkCommunity() isCommunity = self.checkCommunity()
print("iscommunity: %d" % isCommunity) print("iscommunity: %d" % isCommunity)
...@@ -111,20 +118,15 @@ class TDTestCase: ...@@ -111,20 +118,15 @@ class TDTestCase:
print(dbresult[i]) print(dbresult[i])
print(type(dbresult[i][6])) print(type(dbresult[i][6]))
print(type(dbresult[i][7])) print(type(dbresult[i][7]))
print(type(dbresult[i][9])) print((dbresult[i][6]))
assert dbresult[i][6] == 11 assert dbresult[i][6] == "15840m"
if isCommunity: print((dbresult[i][7]))
assert dbresult[i][7] == "3649" assert dbresult[i][7] == "5254560m,5254560m,5254560m"
else:
assert dbresult[i][7] == "3649,3649,3649"
assert dbresult[i][9] == 8
if dbresult[i][0] == 'db1': if dbresult[i][0] == 'db1':
assert dbresult[i][6] == 12 print((dbresult[i][6]))
if isCommunity: assert dbresult[i][6] == "17280m"
assert dbresult[i][7] == "3640" print((dbresult[i][7]))
else: assert dbresult[i][7] == "5241600m,5241600m,5241600m"
assert dbresult[i][7] == "3640,3640,3640"
assert dbresult[i][9] == 7
tdSql.query("show stables") tdSql.query("show stables")
tdSql.checkRows(1) tdSql.checkRows(1)
...@@ -132,8 +134,10 @@ class TDTestCase: ...@@ -132,8 +134,10 @@ class TDTestCase:
tdSql.query("show tables") tdSql.query("show tables")
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.checkData(0, 0, 't2') dbresult = tdSql.queryResult
tdSql.checkData(1, 0, 't1') print(dbresult)
for i in range(len(dbresult)):
assert ((dbresult[i][0] == "t1") or (dbresult[i][0] == "t2"))
tdSql.query("select * from t1") tdSql.query("select * from t1")
tdSql.checkRows(100) tdSql.checkRows(100)
...@@ -155,7 +159,7 @@ class TDTestCase: ...@@ -155,7 +159,7 @@ class TDTestCase:
os.system("rm -rf ./taosdumptest/tmp2") os.system("rm -rf ./taosdumptest/tmp2")
os.makedirs("./taosdumptest/tmp1") os.makedirs("./taosdumptest/tmp1")
tdSql.execute("create database db12312313231231321312312312_323") tdSql.execute("create database db12312313231231321312312312_323")
tdSql.error("create database db12312313231231321312312312_3231") tdSql.error("create database db012345678911234567892234567893323456789423456789523456789bcdefe")
tdSql.execute("use db12312313231231321312312312_323") tdSql.execute("use db12312313231231321312312312_323")
tdSql.execute("create stable st12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678_9(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int, t2 binary(10))") tdSql.execute("create stable st12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678_9(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int, t2 binary(10))")
tdSql.error("create stable st_12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678_9(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int, t2 binary(10))") tdSql.error("create stable st_12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678_9(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int, t2 binary(10))")
...@@ -168,9 +172,10 @@ class TDTestCase: ...@@ -168,9 +172,10 @@ class TDTestCase:
tdSql.query("show stables") tdSql.query("show stables")
tdSql.checkRows(2) tdSql.checkRows(2)
os.system( os.system(
"%staosdump --databases db12312313231231321312312312_323 -o ./taosdumptest/tmp1" % binPath) "%s -y --databases db12312313231231321312312312_323 -o ./taosdumptest/tmp1" %
binPath)
tdSql.execute("drop database db12312313231231321312312312_323") tdSql.execute("drop database db12312313231231321312312312_323")
os.system("%staosdump -i ./taosdumptest/tmp1" % binPath) os.system("%s -i ./taosdumptest/tmp1" % binPath)
tdSql.execute("use db12312313231231321312312312_323") tdSql.execute("use db12312313231231321312312312_323")
tdSql.query("show stables") tdSql.query("show stables")
tdSql.checkRows(2) tdSql.checkRows(2)
......
...@@ -26,9 +26,9 @@ class TDTestCase: ...@@ -26,9 +26,9 @@ class TDTestCase:
self.ts = 1601481600000 self.ts = 1601481600000
self.numberOfTables = 1 self.numberOfTables = 1
self.numberOfRecords = 15000 self.numberOfRecords = 150
def getBuildPath(self): def getPath(self, tool="taosdump"):
selfPath = os.path.dirname(os.path.realpath(__file__)) selfPath = os.path.dirname(os.path.realpath(__file__))
if ("community" in selfPath): if ("community" in selfPath):
...@@ -36,15 +36,24 @@ class TDTestCase: ...@@ -36,15 +36,24 @@ class TDTestCase:
else: else:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
paths = []
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ((tool) in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] paths.append(os.path.join(root, tool))
break break
return buildPath if (len(paths) == 0):
return ""
return paths[0]
def run(self): def run(self):
if not os.path.exists("./taosdumptest/tmp"):
os.makedirs("./taosdumptest/tmp")
else:
os.system("rm -rf ./taosdumptest/tmp")
os.makedirs("./taosdumptest/tmp")
tdSql.prepare() tdSql.prepare()
tdSql.execute("create table st(ts timestamp, c1 timestamp, c2 int, c3 bigint, c4 float, c5 double, c6 binary(8), c7 smallint, c8 tinyint, c9 bool, c10 nchar(8)) tags(t1 int)") tdSql.execute("create table st(ts timestamp, c1 timestamp, c2 int, c3 bigint, c4 float, c5 double, c6 binary(8), c7 smallint, c8 tinyint, c9 bool, c10 nchar(8)) tags(t1 int)")
...@@ -60,27 +69,26 @@ class TDTestCase: ...@@ -60,27 +69,26 @@ class TDTestCase:
break break
tdSql.execute(sql) tdSql.execute(sql)
buildPath = self.getBuildPath() binPath = self.getPath()
if (buildPath == ""): if (binPath == ""):
tdLog.exit("taosdump not found!") tdLog.exit("taosdump not found!")
else: else:
tdLog.info("taosdump found in %s" % buildPath) tdLog.info("taosdump found in %s" % binPath)
binPath = buildPath + "/build/bin/"
os.system("rm /tmp/*.sql") os.system("rm ./taosdumptest/tmp/*.sql")
os.system( os.system(
"%staosdump --databases db -o /tmp -B 32766 -L 1048576" % "%s --databases db -o ./taosdumptest/tmp -B 32766 -L 1048576" %
binPath) binPath)
tdSql.execute("drop database db") tdSql.execute("drop database db")
tdSql.query("show databases") tdSql.query("show databases")
tdSql.checkRows(0) tdSql.checkRows(2)
os.system("%staosdump -i /tmp" % binPath) os.system("%s -i ./taosdumptest/tmp" % binPath)
tdSql.query("show databases") tdSql.query("show databases")
tdSql.checkRows(1) tdSql.checkRows(3)
tdSql.checkData(0, 0, 'db') tdSql.checkData(2, 0, 'db')
tdSql.execute("use db") tdSql.execute("use db")
tdSql.query("show stables") tdSql.query("show stables")
...@@ -90,6 +98,38 @@ class TDTestCase: ...@@ -90,6 +98,38 @@ class TDTestCase:
tdSql.query("select count(*) from t1") tdSql.query("select count(*) from t1")
tdSql.checkData(0, 0, self.numberOfRecords) tdSql.checkData(0, 0, self.numberOfRecords)
# test case for TS-1225
tdSql.execute("create database test")
tdSql.execute("use test")
tdSql.execute(
"create table stb(ts timestamp, c1 binary(16374), c2 binary(16374), c3 binary(16374)) tags(t1 nchar(256))")
tdSql.execute(
"insert into t1 using stb tags('t1') values(now, '%s', '%s', '%s')" %
("16374",
"16374",
"16374"))
# sys.exit(0)
os.system("rm ./taosdumptest/tmp/*.sql")
os.system("rm ./taosdumptest/tmp/*.avro*")
os.system("%s -D test -o ./taosdumptest/tmp -y" % binPath)
tdSql.execute("drop database test")
tdSql.query("show databases")
tdSql.checkRows(3)
os.system("%s -i ./taosdumptest/tmp -y" % binPath)
tdSql.execute("use test")
tdSql.error("show vnodes '' ")
tdSql.query("show stables")
tdSql.checkRows(1)
tdSql.checkData(0, 0, 'stb')
tdSql.query("select * from stb")
tdSql.checkRows(1)
os.system("rm -rf dump_result.txt")
def stop(self): def stop(self):
tdSql.close() tdSql.close()
tdLog.success("%s successfully executed" % __file__) tdLog.success("%s successfully executed" % __file__)
......
...@@ -35,7 +35,7 @@ class TDTestCase: ...@@ -35,7 +35,7 @@ class TDTestCase:
else: else:
return True return True
def getBuildPath(self): def getPath(self, tool="taosdump"):
selfPath = os.path.dirname(os.path.realpath(__file__)) selfPath = os.path.dirname(os.path.realpath(__file__))
if ("community" in selfPath): if ("community" in selfPath):
...@@ -43,15 +43,16 @@ class TDTestCase: ...@@ -43,15 +43,16 @@ class TDTestCase:
else: else:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
paths = []
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ((tool) in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] paths.append(os.path.join(root, tool))
break break
return buildPath if (len(paths) == 0):
return ""
return paths[0]
def createdb(self, precision="ns"): def createdb(self, precision="ns"):
tb_nums = self.numberOfTables tb_nums = self.numberOfTables
...@@ -60,13 +61,16 @@ class TDTestCase: ...@@ -60,13 +61,16 @@ class TDTestCase:
def build_db(precision, start_time): def build_db(precision, start_time):
tdSql.execute("drop database if exists timedb1") tdSql.execute("drop database if exists timedb1")
tdSql.execute( tdSql.execute(
"create database timedb1 duration 10 keep 36500 blocks 8 precision "+"\""+precision+"\"") "create database timedb1 duration 10 keep 36500 precision " +
"\"" +
precision +
"\"")
tdSql.execute("use timedb1") tdSql.execute("use timedb1")
tdSql.execute( tdSql.execute(
"create stable st(ts timestamp, c1 int, c2 nchar(10),c3 timestamp) tags(t1 int, t2 binary(10))") "create stable st(ts timestamp, c1 int, c2 nchar(10),c3 timestamp) tags(t1 int, t2 binary(10))")
for tb in range(tb_nums): for tb in range(tb_nums):
tbname = "t"+str(tb) tbname = "t" + str(tb)
tdSql.execute("create table " + tbname + tdSql.execute("create table " + tbname +
" using st tags(1, 'beijing')") " using st tags(1, 'beijing')")
sql = "insert into " + tbname + " values" sql = "insert into " + tbname + " values"
...@@ -79,8 +83,8 @@ class TDTestCase: ...@@ -79,8 +83,8 @@ class TDTestCase:
ts_seed = 1000 ts_seed = 1000
for i in range(per_tb_rows): for i in range(per_tb_rows):
sql += "(%d, %d, 'nchar%d',%d)" % (currts + i*ts_seed, i % sql += "(%d, %d, 'nchar%d',%d)" % (currts + i * ts_seed, i %
100, i % 100, currts + i*100) # currts +1000ms (1000000000ns) 100, i % 100, currts + i * 100) # currts +1000ms (1000000000ns)
tdSql.execute(sql) tdSql.execute(sql)
if precision == "ns": if precision == "ns":
...@@ -98,7 +102,6 @@ class TDTestCase: ...@@ -98,7 +102,6 @@ class TDTestCase:
else: else:
print("other time precision not valid , please check! ") print("other time precision not valid , please check! ")
def run(self): def run(self):
# clear envs # clear envs
...@@ -118,12 +121,11 @@ class TDTestCase: ...@@ -118,12 +121,11 @@ class TDTestCase:
if not os.path.exists("./taosdumptest/dumptmp3"): if not os.path.exists("./taosdumptest/dumptmp3"):
os.makedirs("./taosdumptest/dumptmp3") os.makedirs("./taosdumptest/dumptmp3")
buildPath = self.getBuildPath() binPath = self.getPath("taosdump")
if (buildPath == ""): if (binPath == ""):
tdLog.exit("taosdump not found!") tdLog.exit("taosdump not found!")
else: else:
tdLog.info("taosdump found in %s" % buildPath) tdLog.info("taosdump found: %s" % binPath)
binPath = buildPath + "/build/bin/"
# create nano second database # create nano second database
...@@ -132,67 +134,51 @@ class TDTestCase: ...@@ -132,67 +134,51 @@ class TDTestCase:
# dump all data # dump all data
os.system( os.system(
"%staosdump --databases timedb1 -o ./taosdumptest/dumptmp1" % binPath) "%s -y -g --databases timedb1 -o ./taosdumptest/dumptmp1" %
binPath)
# dump part data with -S -E # dump part data with -S -E
os.system( os.system(
'%staosdump --databases timedb1 -S 1625068810000000000 -E 1625068860000000000 -o ./taosdumptest/dumptmp2 ' % '%s -y -g --databases timedb1 -S 1625068810000000000 -E 1625068860000000000 -o ./taosdumptest/dumptmp2 ' %
binPath) binPath)
os.system( os.system(
'%staosdump --databases timedb1 -S 1625068810000000000 -o ./taosdumptest/dumptmp3 ' % '%s -y -g --databases timedb1 -S 1625068810000000000 -o ./taosdumptest/dumptmp3 ' %
binPath) binPath)
# replace strings to dump in databases tdSql.execute("drop database timedb1")
os.system( os.system("%s -i ./taosdumptest/dumptmp2" % binPath)
"sed -i \"s/timedb1/dumptmp1/g\" `grep timedb1 -rl ./taosdumptest/dumptmp1`")
os.system(
"sed -i \"s/timedb1/dumptmp2/g\" `grep timedb1 -rl ./taosdumptest/dumptmp2`")
os.system(
"sed -i \"s/timedb1/dumptmp3/g\" `grep timedb1 -rl ./taosdumptest/dumptmp3`")
os.system( "%staosdump -i ./taosdumptest/dumptmp1" %binPath)
os.system( "%staosdump -i ./taosdumptest/dumptmp2" %binPath)
os.system( "%staosdump -i ./taosdumptest/dumptmp3" %binPath)
# dump data and check for taosdump # dump data and check for taosdump
tdSql.query("select count(*) from dumptmp1.st") tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0,0,1000) tdSql.checkData(0, 0, 510)
tdSql.query("select count(*) from dumptmp2.st") tdSql.execute("drop database timedb1")
tdSql.checkData(0,0,510) os.system("%s -i ./taosdumptest/dumptmp3" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 900)
tdSql.query("select count(*) from dumptmp3.st") tdSql.execute("drop database timedb1")
tdSql.checkData(0,0,900) os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 1000)
# check data # check data
origin_res = tdSql.getResult("select * from timedb1.st") origin_res = tdSql.getResult("select * from timedb1.st")
dump_res = tdSql.getResult("select * from dumptmp1.st") tdSql.execute("drop database timedb1")
if origin_res == dump_res: os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
tdLog.info("test nano second : dump check data pass for all data!" ) # dump data and check for taosdump
else: dump_res = tdSql.getResult("select * from timedb1.st")
tdLog.info("test nano second : dump check data failed for all data!" )
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000000 and ts <= 1625068860000000000")
dump_res = tdSql.getResult("select * from dumptmp2.st")
if origin_res == dump_res:
tdLog.info(" test nano second : dump check data pass for data! " )
else:
tdLog.info(" test nano second : dump check data failed for data !" )
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000000 ")
dump_res = tdSql.getResult("select * from dumptmp3.st")
if origin_res == dump_res: if origin_res == dump_res:
tdLog.info(" test nano second : dump check data pass for data! " ) tdLog.info("test nano second : dump check data pass for all data!")
else: else:
tdLog.info(" test nano second : dump check data failed for data !" ) tdLog.info(
"test nano second : dump check data failed for all data!")
# us second support test case # us second support test case
os.system("rm -rf ./taosdumptest/") os.system("rm -rf ./taosdumptest/")
tdSql.execute("drop database if exists dumptmp1") tdSql.execute("drop database if exists timedb1")
tdSql.execute("drop database if exists dumptmp2")
tdSql.execute("drop database if exists dumptmp3")
if not os.path.exists("./taosdumptest/tmp1"): if not os.path.exists("./taosdumptest/tmp1"):
os.makedirs("./taosdumptest/dumptmp1") os.makedirs("./taosdumptest/dumptmp1")
...@@ -205,75 +191,63 @@ class TDTestCase: ...@@ -205,75 +191,63 @@ class TDTestCase:
if not os.path.exists("./taosdumptest/dumptmp3"): if not os.path.exists("./taosdumptest/dumptmp3"):
os.makedirs("./taosdumptest/dumptmp3") os.makedirs("./taosdumptest/dumptmp3")
buildPath = self.getBuildPath() binPath = self.getPath()
if (buildPath == ""): if (binPath == ""):
tdLog.exit("taosdump not found!") tdLog.exit("taosdump not found!")
else: else:
tdLog.info("taosdump found in %s" % buildPath) tdLog.info("taosdump found: %s" % binPath)
binPath = buildPath + "/build/bin/"
self.createdb(precision="us") self.createdb(precision="us")
os.system( os.system(
"%staosdump --databases timedb1 -o ./taosdumptest/dumptmp1" % binPath) "%s -y -g --databases timedb1 -o ./taosdumptest/dumptmp1" %
binPath)
os.system( os.system(
'%staosdump --databases timedb1 -S 1625068810000000 -E 1625068860000000 -o ./taosdumptest/dumptmp2 ' % '%s -y -g --databases timedb1 -S 1625068810000000 -E 1625068860000000 -o ./taosdumptest/dumptmp2 ' %
binPath) binPath)
os.system( os.system(
'%staosdump --databases timedb1 -S 1625068810000000 -o ./taosdumptest/dumptmp3 ' % '%s -y -g --databases timedb1 -S 1625068810000000 -o ./taosdumptest/dumptmp3 ' %
binPath) binPath)
os.system( os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
"sed -i \"s/timedb1/dumptmp1/g\" `grep timedb1 -rl ./taosdumptest/dumptmp1`") os.system("%s -i ./taosdumptest/dumptmp2" % binPath)
os.system( os.system("%s -i ./taosdumptest/dumptmp3" % binPath)
"sed -i \"s/timedb1/dumptmp2/g\" `grep timedb1 -rl ./taosdumptest/dumptmp2`")
os.system(
"sed -i \"s/timedb1/dumptmp3/g\" `grep timedb1 -rl ./taosdumptest/dumptmp3`")
os.system( "%staosdump -i ./taosdumptest/dumptmp1" %binPath)
os.system( "%staosdump -i ./taosdumptest/dumptmp2" %binPath)
os.system( "%staosdump -i ./taosdumptest/dumptmp3" %binPath)
tdSql.query("select count(*) from dumptmp1.st") tdSql.execute("drop database timedb1")
tdSql.checkData(0,0,1000) os.system("%s -i ./taosdumptest/dumptmp2" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from dumptmp2.st") tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0,0,510) tdSql.checkData(0, 0, 510)
tdSql.query("select count(*) from dumptmp3.st") tdSql.execute("drop database timedb1")
tdSql.checkData(0,0,900) os.system("%s -i ./taosdumptest/dumptmp3" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 900)
tdSql.execute("drop database timedb1")
os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 1000)
# check data
origin_res = tdSql.getResult("select * from timedb1.st") origin_res = tdSql.getResult("select * from timedb1.st")
dump_res = tdSql.getResult("select * from dumptmp1.st") tdSql.execute("drop database timedb1")
if origin_res == dump_res: os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
tdLog.info("test us second : dump check data pass for all data!" ) # dump data and check for taosdump
else: dump_res = tdSql.getResult("select * from timedb1.st")
tdLog.info("test us second : dump check data failed for all data!" )
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000 and ts <= 1625068860000000")
dump_res = tdSql.getResult("select * from dumptmp2.st")
if origin_res == dump_res:
tdLog.info(" test us second : dump check data pass for data! " )
else:
tdLog.info(" test us second : dump check data failed for data!" )
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000 ")
dump_res = tdSql.getResult("select * from dumptmp3.st")
if origin_res == dump_res: if origin_res == dump_res:
tdLog.info(" test us second : dump check data pass for data! " ) tdLog.info("test micro second : dump check data pass for all data!")
else: else:
tdLog.info(" test us second : dump check data failed for data! " ) tdLog.info(
"test micro second : dump check data failed for all data!")
# ms second support test case # ms second support test case
os.system("rm -rf ./taosdumptest/") os.system("rm -rf ./taosdumptest/")
tdSql.execute("drop database if exists dumptmp1") tdSql.execute("drop database if exists timedb1")
tdSql.execute("drop database if exists dumptmp2")
tdSql.execute("drop database if exists dumptmp3")
if not os.path.exists("./taosdumptest/tmp1"): if not os.path.exists("./taosdumptest/tmp1"):
os.makedirs("./taosdumptest/dumptmp1") os.makedirs("./taosdumptest/dumptmp1")
...@@ -286,68 +260,59 @@ class TDTestCase: ...@@ -286,68 +260,59 @@ class TDTestCase:
if not os.path.exists("./taosdumptest/dumptmp3"): if not os.path.exists("./taosdumptest/dumptmp3"):
os.makedirs("./taosdumptest/dumptmp3") os.makedirs("./taosdumptest/dumptmp3")
buildPath = self.getBuildPath() binPath = self.getPath()
if (buildPath == ""): if (binPath == ""):
tdLog.exit("taosdump not found!") tdLog.exit("taosdump not found!")
else: else:
tdLog.info("taosdump found in %s" % buildPath) tdLog.info("taosdump found: %s" % binPath)
binPath = buildPath + "/build/bin/"
self.createdb(precision="ms") self.createdb(precision="ms")
os.system( os.system(
"%staosdump --databases timedb1 -o ./taosdumptest/dumptmp1" % binPath) "%s -y -g --databases timedb1 -o ./taosdumptest/dumptmp1" %
binPath)
os.system( os.system(
'%staosdump --databases timedb1 -S 1625068810000 -E 1625068860000 -o ./taosdumptest/dumptmp2 ' % '%s -y -g --databases timedb1 -S 1625068810000 -E 1625068860000 -o ./taosdumptest/dumptmp2 ' %
binPath) binPath)
os.system( os.system(
'%staosdump --databases timedb1 -S 1625068810000 -o ./taosdumptest/dumptmp3 ' % '%s -y -g --databases timedb1 -S 1625068810000 -o ./taosdumptest/dumptmp3 ' %
binPath) binPath)
os.system( os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
"sed -i \"s/timedb1/dumptmp1/g\" `grep timedb1 -rl ./taosdumptest/dumptmp1`") os.system("%s -i ./taosdumptest/dumptmp2" % binPath)
os.system( os.system("%s -i ./taosdumptest/dumptmp3" % binPath)
"sed -i \"s/timedb1/dumptmp2/g\" `grep timedb1 -rl ./taosdumptest/dumptmp2`")
os.system(
"sed -i \"s/timedb1/dumptmp3/g\" `grep timedb1 -rl ./taosdumptest/dumptmp3`")
os.system( "%staosdump -i ./taosdumptest/dumptmp1" %binPath)
os.system( "%staosdump -i ./taosdumptest/dumptmp2" %binPath)
os.system( "%staosdump -i ./taosdumptest/dumptmp3" %binPath)
tdSql.query("select count(*) from dumptmp1.st")
tdSql.checkData(0,0,1000)
tdSql.query("select count(*) from dumptmp2.st") tdSql.execute("drop database timedb1")
tdSql.checkData(0,0,510) os.system("%s -i ./taosdumptest/dumptmp2" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 510)
tdSql.query("select count(*) from dumptmp3.st") tdSql.execute("drop database timedb1")
tdSql.checkData(0,0,900) os.system("%s -i ./taosdumptest/dumptmp3" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 900)
tdSql.execute("drop database timedb1")
os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
# dump data and check for taosdump
tdSql.query("select count(*) from timedb1.st")
tdSql.checkData(0, 0, 1000)
# check data
origin_res = tdSql.getResult("select * from timedb1.st") origin_res = tdSql.getResult("select * from timedb1.st")
dump_res = tdSql.getResult("select * from dumptmp1.st") tdSql.execute("drop database timedb1")
if origin_res == dump_res: os.system("%s -i ./taosdumptest/dumptmp1" % binPath)
tdLog.info("test ms second : dump check data pass for all data!" ) # dump data and check for taosdump
else: dump_res = tdSql.getResult("select * from timedb1.st")
tdLog.info("test ms second : dump check data failed for all data!" )
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000 and ts <= 1625068860000")
dump_res = tdSql.getResult("select * from dumptmp2.st")
if origin_res == dump_res:
tdLog.info(" test ms second : dump check data pass for data! " )
else:
tdLog.info(" test ms second : dump check data failed for data!" )
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000 ")
dump_res = tdSql.getResult("select * from dumptmp3.st")
if origin_res == dump_res: if origin_res == dump_res:
tdLog.info(" test ms second : dump check data pass for data! " ) tdLog.info(
"test million second : dump check data pass for all data!")
else: else:
tdLog.info(" test ms second : dump check data failed for data! " ) tdLog.info(
"test million second : dump check data failed for all data!")
os.system("rm -rf ./taosdumptest/") os.system("rm -rf ./taosdumptest/")
os.system("rm -rf ./dump_result.txt") os.system("rm -rf ./dump_result.txt")
......
###################################################################
# 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
import time
import os
from util.log import tdLog
from util.cases import tdCases
from util.sql import tdSql
class TDTestCase:
def caseDescription(self):
'''
case1<xyguo>:[TD-10540]The escape char "`" can be used for both tag name and column name
case2<xyguo>:[TD-12435]create table as cause column error;
'''
return
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql)
self.tmpdir = "tmp"
now = time.time()
self.ts = int(round(now * 1000))
def getBuildPath(self):
selfPath = os.path.dirname(os.path.realpath(__file__))
if ("community" in selfPath):
projPath = selfPath[:selfPath.find("community")]
else:
projPath = selfPath[:selfPath.find("tests")]
buildPath = ""
for root, dirs, files in os.walk(projPath):
if ("taosdump" in files):
rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")]
break
return buildPath
def table1_checkall(self, sql):
tdLog.info(sql)
tdSql.query(sql)
tdSql.checkData(0, 1, 1)
tdSql.checkData(0, 2, 2)
tdSql.checkData(0, 3, 3)
tdSql.checkData(0, 4, 4)
tdSql.checkData(0, 5, 'True')
tdSql.checkData(0, 6, 6)
tdSql.checkData(0, 7, 7)
tdSql.checkData(0, 8, 8)
tdSql.checkData(0, 9, 9)
tdSql.checkData(0, 10, '1970-01-01 08:00:00.010')
def table1_checkall_1(self, sql):
tdSql.query(sql)
tdSql.checkData(0, 1, 1)
def table1_checkall_2(self, sql):
self.table1_checkall_1(sql)
tdSql.checkData(0, 2, 2)
def table1_checkall_3(self, sql):
self.table1_checkall_2(sql)
tdSql.checkData(0, 3, 3)
def table1_checkall_4(self, sql):
self.table1_checkall_3(sql)
tdSql.checkData(0, 4, 4)
def table1_checkall_5(self, sql):
self.table1_checkall_4(sql)
tdSql.checkData(0, 5, 'True')
def table1_checkall_6(self, sql):
self.table1_checkall_5(sql)
tdSql.checkData(0, 6, 6)
def table1_checkall_7(self, sql):
self.table1_checkall_6(sql)
tdSql.checkData(0, 7, 7)
def table1_checkall_8(self, sql):
self.table1_checkall_7(sql)
tdSql.checkData(0, 8, 8)
def table1_checkall_9(self, sql):
self.table1_checkall_8(sql)
tdSql.checkData(0, 9, 9)
def table1_checkall_10(self, sql):
self.table1_checkall_9(sql)
tdSql.checkData(0, 10, '1970-01-01 08:00:00.010')
def run(self):
testcaseFilename = os.path.split(__file__)[-1]
os.system("rm -rf 5-taos-tools/%s.sql" % testcaseFilename)
os.system("rm %s/db*" % self.tmpdir)
os.system("rm dump_result.txt*")
tdSql.prepare()
print("==============step1")
print("prepare data")
tdSql.execute("create database db2")
tdSql.execute("use db2")
print(
"==============new version [escape character] for stable==============")
print("==============step1,#create db.stable,db.table; insert db.table; show db.table; select db.table; drop db.table;")
print("prepare data")
self.stb1 = "stable_1~!@#$%^&*()-_+=[]{}':,<.>/?stST13579"
self.tb1 = "table_1~!@#$%^&*()-_+=[]{}':,<.>/?stST13579"
self.col_base = "123~!@#$%^&*()-_+=[]{}':,<.>/?stST13579"
self.col_int = "stable_col_int%s" % self.col_base
print(self.col_int)
self.col_bigint = "stable_col_bigint%s" % self.col_base
self.col_smallint = "stable_col_smallint%s" % self.col_base
self.col_tinyint = "stable_col_tinyint%s" % self.col_base
self.col_bool = "stable_col_bool%s" % self.col_base
self.col_binary = "stable_col_binary%s" % self.col_base
self.col_nchar = "stable_col_nchar%s" % self.col_base
self.col_float = "stable_col_float%s" % self.col_base
self.col_double = "stable_col_double%s" % self.col_base
self.col_ts = "stable_col_ts%s" % self.col_base
self.tag_base = "abc~!@#$%^&*()-_+=[]{}':,<.>/?stST13579"
self.tag_int = "stable_tag_int%s" % self.tag_base
self.tag_bigint = "stable_tag_bigint%s" % self.tag_base
self.tag_smallint = "stable_tag_smallint%s" % self.tag_base
self.tag_tinyint = "stable_tag_tinyint%s" % self.tag_base
self.tag_bool = "stable_tag_bool%s" % self.tag_base
self.tag_binary = "stable_tag_binary%s" % self.tag_base
self.tag_nchar = "stable_tag_nchar%s" % self.tag_base
self.tag_float = "stable_tag_float%s" % self.tag_base
self.tag_double = "stable_tag_double%s" % self.tag_base
self.tag_ts = "stable_tag_ts%s" % self.tag_base
tdSql.execute('''create stable db.`%s` (ts timestamp, `%s` int , `%s` bigint , `%s` smallint , `%s` tinyint, `%s` bool ,
`%s` binary(20) , `%s` nchar(20) ,`%s` float , `%s` double , `%s` timestamp)
tags(loc nchar(20), `%s` int , `%s` bigint , `%s` smallint , `%s` tinyint, `%s` bool ,
`%s` binary(20) , `%s` nchar(20) ,`%s` float , `%s` double , `%s` timestamp);'''
% (self.stb1, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool,
self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.tag_int, self.tag_bigint, self.tag_smallint, self.tag_tinyint, self.tag_bool,
self.tag_binary, self.tag_nchar, self.tag_float, self.tag_double, self.tag_ts))
tdSql.query("describe db.`%s` ; " % self.stb1)
tdSql.checkRows(22)
tdSql.query("select count(*) from db.`%s` ; " % self.stb1)
tdSql.checkRows(0)
tdSql.query("show create stable db.`%s` ; " % self.stb1)
tdSql.checkData(0, 0, self.stb1)
tdSql.checkData(0, 1, "CREATE TABLE `%s` (`ts` TIMESTAMP,`%s` INT,`%s` BIGINT,`%s` SMALLINT,`%s` TINYINT,`%s` BOOL,`%s` BINARY(20),`%s` NCHAR(20),`%s` FLOAT,`%s` DOUBLE,`%s` TIMESTAMP)\
TAGS (`loc` NCHAR(20),`%s` INT,`%s` BIGINT,`%s` SMALLINT,`%s` TINYINT,`%s` BOOL,`%s` BINARY(20),`%s` NCHAR(20),`%s` FLOAT,`%s` DOUBLE,`%s` TIMESTAMP)"
% (self.stb1, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool,
self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.tag_int, self.tag_bigint, self.tag_smallint, self.tag_tinyint, self.tag_bool,
self.tag_binary, self.tag_nchar, self.tag_float, self.tag_double, self.tag_ts))
tdSql.execute(
"create table db.`table!1` using db.`%s` tags('table_1' , '0' , '0' , '0' , '0' , 0 , '0' , '0' , '0' , '0' ,'0')" %
self.stb1)
tdSql.query("describe db.`table!1` ; ")
tdSql.checkRows(22)
time.sleep(10)
tdSql.query("show create table db.`table!1` ; ")
tdSql.checkData(0, 0, "table!1")
tdSql.checkData(
0,
1,
"CREATE TABLE `table!1` USING `%s` TAGS (\"table_1\",0,0,0,0,false,\"0\",\"0\",0.000000,0.000000,\"0\")" %
self.stb1)
tdSql.execute(
"insert into db.`table!1` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)")
sql = " select * from db.`table!1`; "
datacheck = self.table1_checkall(sql)
tdSql.checkRows(1)
sql = '''select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db.`table!1`; '''\
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(1)
time.sleep(1)
tdSql.execute('''insert into db.`table!1`(ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`) values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)'''
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
sql = " select * from db.`table!1`; "
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
tdSql.query("select count(*) from db.`table!1`; ")
tdSql.checkData(0, 0, 2)
tdSql.query("select count(*) from db.`%s` ; " % self.stb1)
tdSql.checkRows(1)
tdSql.execute(
"create table db.`%s` using db.`%s` TAGS (\"table_2\",2,2,2,2,true,\"2\",\"2\",2.000000,2.000000,\"2\")" %
(self.tb1, self.stb1))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.query("show create table db.`%s` ; " % self.tb1)
tdSql.checkData(0, 0, self.tb1)
tdSql.checkData(
0,
1,
"CREATE TABLE `%s` USING `%s` TAGS (\"table_2\",2,2,2,2,true,\"2\",\"2\",2.000000,2.000000,\"2\")" %
(self.tb1,
self.stb1))
tdSql.execute(
"insert into db.`%s` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)" %
self.tb1)
sql = "select * from db.`%s` ; " % self.tb1
datacheck = self.table1_checkall(sql)
tdSql.checkRows(1)
sql = '''select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db.`%s` ; '''\
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.tag_int, self.tag_bigint, self.tag_smallint, self.tag_tinyint, self.tag_bool, self.tag_binary, self.tag_nchar, self.tag_float, self.tag_double, self.tag_ts, self.tb1)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(1)
time.sleep(1)
tdSql.execute('''insert into db.`%s`(ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`) values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)'''
% (self.tb1, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
sql = " select * from db.`%s` ; " % self.tb1
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
sql = " select * from db.`%s` where `%s`=1 and `%s`=2 and `%s`=3 and `%s`=4 and `%s`='True' and `%s`=6 and `%s`=7 and `%s`=8 and `%s`=9 and `%s`=10; " \
% (self.tb1, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
tdSql.query("select count(*) from db.`%s`; " % self.tb1)
tdSql.checkData(0, 0, 2)
sql = "select * from db.`%s` ; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.checkRows(4)
tdSql.query("select count(*) from db.`%s`; " % self.stb1)
tdSql.checkData(0, 0, 4)
sql = "select * from (select * from db.`%s`) ; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.checkRows(4)
tdSql.query(
"select count(*) from (select * from db.`%s`) ; " %
self.stb1)
tdSql.checkData(0, 0, 4)
sql = "select * from (select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db.`%s`) ; " \
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.stb1)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(4)
sql = "select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from (select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db.`%s`) ; " \
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.stb1)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(4)
sql = "select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from (select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db.`%s`\
where `%s`=1 and `%s`=2 and `%s`=3 and `%s`=4 and `%s`='True' and `%s`=6 and `%s`=7 and `%s`=8 and `%s`=9 and `%s`=10 ) ; " \
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.stb1,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(4)
tdSql.query("show db.stables like 'stable_1%' ")
tdSql.checkRows(1)
tdSql.query("show db.tables like 'table%' ")
tdSql.checkRows(2)
self.cr_tb1 = "create_table_1~!@#$%^&*()-_+=[]{}':,<.>/?stST13579"
tdSql.execute(
"create table db.`%s` as select avg(`%s`) from db.`%s` where ts > now interval(1m) sliding(30s);" %
(self.cr_tb1, self.col_bigint, self.stb1))
tdSql.query("show db.tables like 'create_table_%' ")
tdSql.checkRows(1)
print(r"==============drop\ add\ change\ modify column or tag")
print("==============drop==============")
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_ts))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(21)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_double))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(20)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_float))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(19)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_nchar))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(18)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_binary))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(17)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_bool))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(16)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_tinyint))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(15)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_smallint))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(14)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_bigint))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(13)
tdSql.execute(
"ALTER TABLE db.`%s` DROP TAG `%s`; " %
(self.stb1, self.tag_int))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(12)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_ts))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_9(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(11)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_double))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_8(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(10)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_float))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_7(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(9)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_nchar))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_6(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(8)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_binary))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_5(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(7)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_bool))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_4(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(6)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_tinyint))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_3(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(5)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_smallint))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_2(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(4)
tdSql.execute(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_bigint))
sql = " select * from db.`%s`; " % self.stb1
datacheck = self.table1_checkall_1(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(3)
tdSql.error(
"ALTER TABLE db.`%s` DROP COLUMN `%s`; " %
(self.stb1, self.col_int))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(3)
print("==============add==============")
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` bigint; " %
(self.stb1, self.col_bigint))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(4)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` smallint; " %
(self.stb1, self.col_smallint))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(5)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` tinyint; " %
(self.stb1, self.col_tinyint))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(6)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` bool; " %
(self.stb1, self.col_bool))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(7)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` binary(20); " %
(self.stb1, self.col_binary))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(8)
tdSql.execute(
"insert into db.`%s` values(now, 1 , 2, 3, 4, 5, 6)" %
self.tb1)
sql = "select * from db.`%s` order by ts desc; " % self.tb1
datacheck = self.table1_checkall_5(sql)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` nchar(20); " %
(self.stb1, self.col_nchar))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(9)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` float; " %
(self.stb1, self.col_float))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(10)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` double; " %
(self.stb1, self.col_double))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(11)
tdSql.execute(
"ALTER TABLE db.`%s` ADD COLUMN `%s` timestamp; " %
(self.stb1, self.col_ts))
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(12)
tdSql.execute(
"insert into db.`%s` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)" %
self.tb1)
sql = "select * from db.`%s` order by ts desc; " % self.tb1
datacheck = self.table1_checkall(sql)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` int; " %
(self.stb1, self.tag_int))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(13)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` bigint; " %
(self.stb1, self.tag_bigint))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(14)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` smallint; " %
(self.stb1, self.tag_smallint))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(15)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` tinyint; " %
(self.stb1, self.tag_tinyint))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(16)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` bool; " %
(self.stb1, self.tag_bool))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(17)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` binary(20); " %
(self.stb1, self.tag_binary))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(18)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` nchar(20); " %
(self.stb1, self.tag_nchar))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(19)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` float; " %
(self.stb1, self.tag_float))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(20)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` double; " %
(self.stb1, self.tag_double))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(21)
tdSql.execute(
"ALTER TABLE db.`%s` ADD TAG `%s` timestamp; " %
(self.stb1, self.tag_ts))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
print("==============change==============")
self.tag_base_change = "abcdas"
self.tag_int_change = "stable_tag_int%s" % self.tag_base_change
self.tag_bigint_change = "stable_tag_bigint%s" % self.tag_base_change
self.tag_smallint_change = "stable_tag_smallint%s" % self.tag_base_change
self.tag_tinyint_change = "stable_tag_tinyint%s" % self.tag_base_change
self.tag_bool_change = "stable_tag_bool%s" % self.tag_base_change
self.tag_binary_change = "stable_tag_binary%s" % self.tag_base_change
self.tag_nchar_change = "stable_tag_nchar%s" % self.tag_base_change
self.tag_float_change = "stable_tag_float%s" % self.tag_base_change
self.tag_double_change = "stable_tag_double%s" % self.tag_base_change
self.tag_ts_change = "stable_tag_ts%s" % self.tag_base_change
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_int, self.tag_int_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_bigint, self.tag_bigint_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_smallint, self.tag_smallint_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_tinyint, self.tag_tinyint_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_bool, self.tag_bool_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_binary, self.tag_binary_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_nchar, self.tag_nchar_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_float, self.tag_float_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_double, self.tag_double_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER TABLE db.`%s` CHANGE TAG `%s` `%s`; " %
(self.stb1, self.tag_ts, self.tag_ts_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
print("==============modify==============")
# TD-10810
tdSql.execute(
"ALTER STABLE db.`%s` MODIFY TAG `%s` binary(30); ; " %
(self.stb1, self.tag_binary_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER STABLE db.`%s` MODIFY TAG `%s` nchar(30); ; " %
(self.stb1, self.tag_nchar_change))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER STABLE db.`%s` MODIFY COLUMN `%s` binary(30); ; " %
(self.stb1, self.col_binary))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
tdSql.execute(
"ALTER STABLE db.`%s` MODIFY COLUMN `%s` nchar(30); ; " %
(self.stb1, self.col_nchar))
sql = " select * from db.`%s` order by ts desc; " % self.stb1
datacheck = self.table1_checkall(sql)
tdSql.query("describe db.`%s` ; " % self.tb1)
tdSql.checkRows(22)
print(r"==============drop table\stable")
try:
tdSql.execute("drop table db.`%s` " % self.tb1)
except Exception as e:
tdLog.exit(e)
tdSql.error("select * from db.`%s`" % self.tb1)
tdSql.query("show db.stables like 'stable_1%' ")
tdSql.checkRows(1)
try:
tdSql.execute("drop table db.`%s` " % self.stb1)
except Exception as e:
tdLog.exit(e)
tdSql.error("select * from db.`%s`" % self.tb1)
tdSql.error("select * from db.`%s`" % self.stb1)
print("==============step2,#create stable,table; insert table; show table; select table; drop table")
self.stb2 = "stable_2~!@#$%^&*()-_+=[]{}';:,<.>/?stST24680~!@#$%^&*()-_+=[]{}"
self.tb2 = "table_2~!@#$%^&*()-_+=[]{}';:,<.>/?stST24680~!@#$%^&*()-_+=[]{}"
tdSql.execute(
"create stable `%s` (ts timestamp, i int) tags(j int);" %
self.stb2)
tdSql.query("describe `%s` ; " % self.stb2)
tdSql.checkRows(3)
tdSql.query("select count(*) from `%s` ; " % self.stb2)
tdSql.checkRows(0)
tdSql.query("show create stable `%s` ; " % self.stb2)
tdSql.checkData(0, 0, self.stb2)
tdSql.checkData(
0,
1,
"CREATE TABLE `%s` (`ts` TIMESTAMP,`i` INT) TAGS (`j` INT)" %
self.stb2)
tdSql.execute("create table `table!2` using `%s` tags(1)" % self.stb2)
tdSql.query("describe `table!2` ; ")
tdSql.checkRows(3)
time.sleep(10)
tdSql.query("show create table `table!2` ; ")
tdSql.checkData(0, 0, "table!2")
tdSql.checkData(
0,
1,
"CREATE TABLE `table!2` USING `%s` TAGS (1)" %
self.stb2)
tdSql.execute("insert into `table!2` values(now, 1)")
tdSql.query("select * from `table!2`; ")
tdSql.checkRows(1)
tdSql.query("select count(*) from `table!2`; ")
tdSql.checkData(0, 0, 1)
tdSql.query("select count(*) from `%s` ; " % self.stb2)
tdSql.checkRows(1)
tdSql.execute(
"create table `%s` using `%s` tags(1)" %
(self.tb2, self.stb2))
tdSql.query("describe `%s` ; " % self.tb2)
tdSql.checkRows(3)
tdSql.query("show create table `%s` ; " % self.tb2)
tdSql.checkData(0, 0, self.tb2)
tdSql.checkData(
0, 1, "CREATE TABLE `%s` USING `%s` TAGS (1)" %
(self.tb2, self.stb2))
tdSql.execute("insert into `%s` values(now, 1)" % self.tb2)
tdSql.query("select * from `%s` ; " % self.tb2)
tdSql.checkRows(1)
tdSql.query("select count(*) from `%s`; " % self.tb2)
tdSql.checkData(0, 0, 1)
tdSql.query("select * from `%s` ; " % self.stb2)
tdSql.checkRows(2)
tdSql.query("select count(*) from `%s`; " % self.stb2)
tdSql.checkData(0, 0, 2)
tdSql.query("select * from (select * from `%s`) ; " % self.stb2)
tdSql.checkRows(2)
tdSql.query("select count(*) from (select * from `%s` ); " % self.stb2)
tdSql.checkData(0, 0, 2)
tdSql.query("show stables like 'stable_2%' ")
tdSql.checkRows(1)
tdSql.query("show tables like 'table%' ")
tdSql.checkRows(2)
# TD-10536
self.cr_tb2 = "create_table_2~!@#$%^&*()-_+=[]{}';:,<.>/?stST24680~!@#$%^&*()-_+=[]{}"
tdSql.execute(
"create table `%s` as select * from `%s` ;" %
(self.cr_tb2, self.stb2))
tdSql.query("show db.tables like 'create_table_%' ")
tdSql.checkRows(1)
print("==============step3,#create regular_table; insert regular_table; show regular_table; select regular_table; drop regular_table")
self.regular_table = "regular_table~!@#$%^&*()-_+=[]{}';:,<.>/?stST24680~!@#$%^&*()-_+=[]{}"
self.regular_col_base = "123@#$%^&*()-_+=[]{};:,<.>/?~!$%^"
self.col_int = "regular_table_col_int%s" % self.regular_col_base
print(self.col_int)
self.col_bigint = "regular_table_col_bigint%s" % self.regular_col_base
self.col_smallint = "regular_table_col_smallint%s" % self.regular_col_base
self.col_tinyint = "regular_table_col_tinyint%s" % self.regular_col_base
self.col_bool = "regular_table_col_bool%s" % self.regular_col_base
self.col_binary = "regular_table_col_binary%s" % self.regular_col_base
self.col_nchar = "regular_table_col_nchar%s" % self.regular_col_base
self.col_float = "regular_table_col_float%s" % self.regular_col_base
self.col_double = "regular_table_col_double%s" % self.regular_col_base
self.col_ts = "regular_table_col_ts%s" % self.regular_col_base
tdSql.execute("create table `%s` (ts timestamp,`%s` int , `%s` bigint , `%s` smallint , `%s` tinyint, `%s` bool , \
`%s` binary(20) , `%s` nchar(20) ,`%s` float , `%s` double , `%s` timestamp) ;"
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool,
self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(11)
tdSql.query("select count(*) from `%s` ; " % self.regular_table)
tdSql.checkRows(1)
tdSql.query("show create table `%s` ; " % self.regular_table)
tdSql.checkData(0, 0, self.regular_table)
tdSql.checkData(0, 1, "CREATE TABLE `%s` (`ts` TIMESTAMP,`%s` INT,`%s` BIGINT,`%s` SMALLINT,`%s` TINYINT,`%s` BOOL,`%s` BINARY(20),`%s` NCHAR(20),`%s` FLOAT,`%s` DOUBLE,`%s` TIMESTAMP)"
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool,
self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
tdSql.execute(
"insert into `%s` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)" %
self.regular_table)
sql = "select * from `%s` ; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.checkRows(1)
sql = '''select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db2.`%s`; '''\
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.regular_table)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(1)
time.sleep(1)
tdSql.execute('''insert into db2.`%s` (ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`) values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)'''
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
sql = " select * from db2.`%s`; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
sql = " select * from db2.`%s` where `%s`=1 and `%s`=2 and `%s`=3 and `%s`=4 and `%s`='True' and `%s`=6 and `%s`=7 and `%s`=8 and `%s`=9 and `%s`=10; " \
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
tdSql.query("select count(*) from `%s`; " % self.regular_table)
tdSql.checkData(0, 0, 2)
tdSql.query("select count(*) from `%s` ; " % self.regular_table)
tdSql.checkRows(1)
sql = "select * from (select * from `%s`) ; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
sql = "select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from (select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db2.`%s`\
where `%s`=1 and `%s`=2 and `%s`=3 and `%s`=4 and `%s`='True' and `%s`=6 and `%s`=7 and `%s`=8 and `%s`=9 and `%s`=10 ) ; " \
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.regular_table,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(2)
tdSql.query(
"select count(*) from (select * from `%s` ); " %
self.regular_table)
tdSql.checkData(0, 0, 2)
tdSql.query("show tables like 'regular_table%' ")
tdSql.checkRows(1)
self.crr_tb = "create_r_table~!@#$%^&*()-_+=[]{}';:,<.>/?stST24680~!@#$%^&*()-_+=[]{}"
tdSql.execute(
"create table `%s` as select * from `%s` ;" %
(self.crr_tb, self.regular_table))
tdSql.query("show db2.tables like 'create_r_table%' ")
tdSql.checkRows(1)
print(r"==============drop\ add\ change\ modify column ")
print("==============drop==============")
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_ts))
sql = " select * from db2.`%s`; " % self.regular_table
datacheck = self.table1_checkall_9(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(10)
tdSql.execute(
"ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_double))
sql = " select * from `%s`; " % self.regular_table
datacheck = self.table1_checkall_8(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(9)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_float))
sql = " select * from db2.`%s`; " % self.regular_table
datacheck = self.table1_checkall_7(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(8)
tdSql.execute(
"ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_nchar))
sql = " select * from `%s`; " % self.regular_table
datacheck = self.table1_checkall_6(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(7)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_binary))
sql = " select * from db2.`%s`; " % self.regular_table
datacheck = self.table1_checkall_5(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(6)
tdSql.execute(
"ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_bool))
sql = " select * from `%s`; " % self.regular_table
datacheck = self.table1_checkall_4(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(5)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_tinyint))
sql = " select * from db2.`%s`; " % self.regular_table
datacheck = self.table1_checkall_3(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(4)
tdSql.execute("ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_smallint))
sql = " select * from `%s`; " % self.regular_table
datacheck = self.table1_checkall_2(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(3)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_bigint))
sql = " select * from db2.`%s`; " % self.regular_table
datacheck = self.table1_checkall_1(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(2)
tdSql.error(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_int))
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(2)
print("==============add==============")
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` bigint; " %
(self.regular_table, self.col_bigint))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(3)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` smallint; " %
(self.regular_table, self.col_smallint))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(4)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` tinyint; " %
(self.regular_table, self.col_tinyint))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(5)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` bool; " %
(self.regular_table, self.col_bool))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(6)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` binary(20); " %
(self.regular_table, self.col_binary))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(7)
tdSql.execute(
"insert into db2.`%s` values(now, 1 , 2, 3, 4, 5, 6)" %
self.regular_table)
sql = "select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_5(sql)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` nchar(20); " %
(self.regular_table, self.col_nchar))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(8)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` float; " %
(self.regular_table, self.col_float))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(9)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` double; " %
(self.regular_table, self.col_double))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(10)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` timestamp; " %
(self.regular_table, self.col_ts))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(11)
tdSql.execute(
"insert into db2.`%s` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)" %
self.regular_table)
sql = "select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
print("==============change, regular not support==============")
print("==============modify==============")
# TD-10810
tdSql.execute(
"ALTER TABLE db2.`%s` MODIFY COLUMN `%s` binary(30); ; " %
(self.regular_table, self.col_binary))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(11)
tdSql.execute(
"ALTER TABLE `%s` MODIFY COLUMN `%s` nchar(30); ; " %
(self.regular_table, self.col_nchar))
sql = " select * from `%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(11)
buildPath = self.getBuildPath()
if (buildPath == ""):
tdLog.exit("taosdump not found!")
else:
tdLog.info("taosdump found in %s" % buildPath)
binPath = buildPath + "/build/bin/"
if not os.path.exists(self.tmpdir):
os.makedirs(self.tmpdir)
else:
print("directory exists")
os.system("rm -rf %s" % self.tmpdir)
os.makedirs(self.tmpdir)
print("==============step4,#taosdump out ; drop db ; taosdumo in")
assert os.system(
"%staosdump -D db2 -o %s" %
(binPath, self.tmpdir)) == 0
tdSql.execute('''drop database if exists db2 ;''')
assert os.system("%staosdump -i %s -g" % (binPath, self.tmpdir)) == 0
print("==============step5,#create regular_table; insert regular_table; show regular_table; select regular_table; drop regular_table")
self.regular_table = "regular_table~!@#$%^&*()-_+=[]{}';:,<.>/?stST24680~!@#$%^&*()-_+=[]{}"
self.regular_col_base = "123@#$%^&*()-_+=[]{};:,<.>/?~!$%^"
self.col_int = "regular_table_col_int%s" % self.regular_col_base
print(self.col_int)
self.col_bigint = "regular_table_col_bigint%s" % self.regular_col_base
self.col_smallint = "regular_table_col_smallint%s" % self.regular_col_base
self.col_tinyint = "regular_table_col_tinyint%s" % self.regular_col_base
self.col_bool = "regular_table_col_bool%s" % self.regular_col_base
self.col_binary = "regular_table_col_binary%s" % self.regular_col_base
self.col_nchar = "regular_table_col_nchar%s" % self.regular_col_base
self.col_float = "regular_table_col_float%s" % self.regular_col_base
self.col_double = "regular_table_col_double%s" % self.regular_col_base
self.col_ts = "regular_table_col_ts%s" % self.regular_col_base
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(11)
tdSql.query("select count(*) from `%s` ; " % self.regular_table)
tdSql.checkRows(1)
tdSql.query("show create table `%s` ; " % self.regular_table)
tdSql.checkData(0, 0, self.regular_table)
tdSql.checkData(0, 1, "CREATE TABLE `%s` (`ts` TIMESTAMP,`%s` INT,`%s` BIGINT,`%s` SMALLINT,`%s` TINYINT,`%s` BOOL,`%s` BINARY(30),`%s` NCHAR(30),`%s` FLOAT,`%s` DOUBLE,`%s` TIMESTAMP)"
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool,
self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
tdSql.execute(
"insert into `%s` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)" %
self.regular_table)
sql = "select * from `%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.checkRows(5)
sql = '''select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db2.`%s` order by ts desc; '''\
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.regular_table)
datacheck = self.table1_checkall(sql)
tdSql.checkRows(5)
time.sleep(1)
tdSql.execute('''insert into db2.`%s` (ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`) values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)'''
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.checkRows(6)
sql = " select * from db2.`%s` where `%s`=1 and `%s`=2 and `%s`=3 and `%s`=4 and `%s`='True' and `%s`=6 and `%s`=7 and `%s`=8 and `%s`=9 and `%s`=10; " \
% (self.regular_table, self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
# CBD tdSql.checkRows(3)
tdSql.query(
"select count(*) from `%s` order by ts desc; " %
self.regular_table)
tdSql.checkData(0, 0, 6)
tdSql.query("select count(*) from `%s` ; " % self.regular_table)
tdSql.checkRows(1)
sql = "select * from (select * from `%s` order by ts desc) ; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.checkRows(6)
sql = "select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from (select ts ,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s`,`%s` from db2.`%s`\
where `%s`=1 and `%s`=2 and `%s`=3 and `%s`=4 and `%s`='True' and `%s`=6 and `%s`=7 and `%s`=8 and `%s`=9 and `%s`=10 ) ; " \
% (self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts, self.regular_table,
self.col_int, self.col_bigint, self.col_smallint, self.col_tinyint, self.col_bool, self.col_binary, self.col_nchar, self.col_float, self.col_double, self.col_ts)
datacheck = self.table1_checkall(sql)
# CBD tdSql.checkRows(3)
tdSql.query(
"select count(*) from (select * from `%s` ); " %
self.regular_table)
tdSql.checkData(0, 0, 6)
tdSql.query("show tables like 'regular_table%' ")
tdSql.checkRows(1)
tdSql.query("show db2.tables like 'create_r_table%' ")
tdSql.checkRows(1)
print(r"==============drop\ add\ change\ modify column ")
print("==============drop==============")
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_ts))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_9(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(10)
tdSql.execute(
"ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_double))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_8(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(9)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_float))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_7(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(8)
tdSql.execute(
"ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_nchar))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_6(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(7)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_binary))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_5(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(6)
tdSql.execute(
"ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_bool))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_4(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(5)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_tinyint))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_3(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(4)
tdSql.execute("ALTER TABLE `%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_smallint))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_2(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(3)
tdSql.execute(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_bigint))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_1(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(2)
tdSql.error(
"ALTER TABLE db2.`%s` DROP COLUMN `%s`; " %
(self.regular_table, self.col_int))
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(2)
print("==============add==============")
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` bigint; " %
(self.regular_table, self.col_bigint))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(3)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` smallint; " %
(self.regular_table, self.col_smallint))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(4)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` tinyint; " %
(self.regular_table, self.col_tinyint))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(5)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` bool; " %
(self.regular_table, self.col_bool))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(6)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` binary(20); " %
(self.regular_table, self.col_binary))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(7)
tdSql.execute(
"insert into db2.`%s` values(now, 1 , 2, 3, 4, 5, 6)" %
self.regular_table)
sql = "select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall_5(sql)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` nchar(20); " %
(self.regular_table, self.col_nchar))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(8)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` float; " %
(self.regular_table, self.col_float))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(9)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` double; " %
(self.regular_table, self.col_double))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(10)
tdSql.execute(
"ALTER TABLE db2.`%s` ADD COLUMN `%s` timestamp; " %
(self.regular_table, self.col_ts))
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(11)
tdSql.execute(
"insert into db2.`%s` values(now, 1 , 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10)" %
self.regular_table)
sql = "select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
print("==============change, regular not support==============")
print("==============modify==============")
# TD-10810
tdSql.execute(
"ALTER TABLE db2.`%s` MODIFY COLUMN `%s` binary(40); ; " %
(self.regular_table, self.col_binary))
sql = " select * from db2.`%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.query("describe db2.`%s` ; " % self.regular_table)
tdSql.checkRows(11)
tdSql.execute(
"ALTER TABLE `%s` MODIFY COLUMN `%s` nchar(40); ; " %
(self.regular_table, self.col_nchar))
sql = " select * from `%s` order by ts desc; " % self.regular_table
datacheck = self.table1_checkall(sql)
tdSql.query("describe `%s` ; " % self.regular_table)
tdSql.checkRows(11)
os.system("rm %s/db*" % self.tmpdir)
os.system("rm dump_result.txt*")
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册