enh: test case for alter config

This commit is contained in:
kailixu 2024-11-19 08:45:36 +08:00
parent d0236e1792
commit a1c1d21c3c
1 changed files with 52 additions and 29 deletions

View File

@ -100,45 +100,68 @@ class TDTestCase(TBase):
tdSql.query('show dnodes') tdSql.query('show dnodes')
tdSql.checkData(0, 3, "64") tdSql.checkData(0, 3, "64")
def checkKeyValue(self, res, key, value, ikey = 0, ival = 1):
result = False
for row in res:
if row[ikey] == key:
if row[ival] != value:
raise Exception(f"key:{key} value:{row[ival]} != {value}")
else:
tdLog.info(f"key:{key} value:{row[ival]} == {value}")
result = True
break
if not result:
raise Exception(f"key:{key} not found")
def alterBypassFlag(self): def alterBypassFlag(self):
"""Add test case for altering bypassFlag(TD-32907) """Add test case for altering bypassFlag(TD-32907)
""" """
tdSql.execute(f"drop database if exists db;") tdSql.execute(f"drop database if exists db")
tdSql.execute(f"create database db;") tdSql.execute(f"create database db")
tdSql.execute("use db;") tdSql.execute("use db")
tdSql.execute("alter local 'bypassFlag 1';") self.checkKeyValue(tdSql.getResult("show local variables;"), "bypassFlag", "0")
tdSql.execute("create table stb0(ts timestamp, c0 int) tags(t0 int);") self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "0", 1, 2)
tdSql.execute("create table ctb0 using stb0 tags(0);") tdSql.execute("alter local 'bypassFlag 1'")
tdSql.execute("insert into ctb0 values(now, 1);") self.checkKeyValue(tdSql.getResult("show local variables;"), "bypassFlag", "1")
tdSql.query("select * from stb0;") self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "0", 1, 2)
tdSql.execute("create table stb0(ts timestamp, c0 int) tags(t0 int)")
tdSql.execute("create table ctb0 using stb0 tags(0)")
tdSql.execute("insert into ctb0 values(now, 1)")
tdSql.query("select * from stb0")
tdSql.checkRows(0) tdSql.checkRows(0)
tdSql.execute("alter local 'bypassFlag 0';") tdSql.execute("alter local 'bypassFlag 0'")
tdSql.execute("alter all dnodes 'bypassFlag 2';") tdSql.execute("alter all dnodes 'bypassFlag 2'")
tdSql.execute("insert into ctb0 values(now, 2);") self.checkKeyValue(tdSql.getResult("show local variables"), "bypassFlag", "0")
tdSql.query("select * from stb0;") self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "2", 1, 2)
tdSql.execute("insert into ctb0 values(now, 2)")
tdSql.query("select * from stb0")
tdSql.checkRows(0) tdSql.checkRows(0)
tdSql.execute("alter all dnodes 'bypassFlag 4';") tdSql.execute("alter all dnodes 'bypassFlag 4'")
tdSql.execute("insert into ctb0 values(now, 4);") self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "4", 1, 2)
tdSql.execute("insert into ctb1 using stb0 tags(1) values(now, 10);") tdSql.execute("insert into ctb0 values(now, 4)")
tdSql.query("select * from stb0;") tdSql.execute("insert into ctb1 using stb0 tags(1) values(now, 10)")
tdSql.query("select * from stb0")
tdSql.checkRows(0) tdSql.checkRows(0)
tdSql.query("show db.tables;") tdSql.query("show db.tables")
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.execute("alter all dnodes 'bypassFlag 8';") tdSql.execute("alter all dnodes 'bypassFlag 8'")
tdSql.execute("insert into ctb0 values(now, 8);") self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "8", 1, 2)
tdSql.execute("insert into ctb1 values(now, 18);") tdSql.execute("insert into ctb0 values(now, 8)")
tdSql.query("select * from stb0;") tdSql.execute("insert into ctb1 values(now, 18)")
tdSql.query("select * from stb0")
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.execute("flush database db;") tdSql.execute("flush database db")
tdSql.query("select * from stb0;") tdSql.query("select * from stb0")
tdSql.checkRows(0) tdSql.checkRows(0)
tdSql.execute("alter all dnodes 'bypassFlag 0';") tdSql.execute("alter all dnodes 'bypassFlag 0'")
tdSql.execute("insert into ctb0 values(now, 80);") self.checkKeyValue(tdSql.getResult("show local variables"), "bypassFlag", "0")
tdSql.execute("insert into ctb1 values(now, 180);") self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "0", 1, 2)
tdSql.query("select * from stb0;") tdSql.execute("insert into ctb0 values(now, 80)")
tdSql.execute("insert into ctb1 values(now, 180)")
tdSql.query("select * from stb0")
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.execute("flush database db;") tdSql.execute("flush database db")
tdSql.query("select * from stb0;") tdSql.query("select * from stb0")
tdSql.checkRows(2) tdSql.checkRows(2)
# run # run