TDengine/test/cases/02-Databases/01-Create/test_db_keep.py
2025-04-30 12:45:50 +08:00

121 lines
3.8 KiB
Python

import time
from new_test_framework.utils import tdLog, tdSql, sc, clusterComCheck, clusterComCheck
class TestDatabaseKeep:
def setup_class(cls):
tdLog.debug(f"start to execute {__file__}")
def test_database_Keep(self):
"""crete db use keep option
1. -
Catalog:
- Database:Create
Since: v3.0.0.0
Labels: common,ci
Jira: None
History:
- 2025-4-30 Simon Guan Migrated to new test framework, from tsim/db/keep.sim
"""
sc.dnodeForceStop(2)
clusterComCheck.checkDnodes(1)
tdLog.info(f"======== step1 create db")
tdSql.execute(f"create database keepdb replica 1 keep 30 duration 7 vgroups 2")
tdSql.execute(f"use keepdb")
tdSql.execute(f"create table tb (ts timestamp, i int)")
x = 1
while x < 41:
time = x + "d"
tdSql.execute_any(f"insert into tb values (now - {time} , {x} )")
x = x + 1
tdSql.query(f"select * from tb")
tdLog.info(f"===> rows {tdSql.getRows()}) last {tdSql.getData(0,1)}")
tdSql.checkAssert(tdSql.getRows() < 40)
tdLog.info(f"======== step2 stop dnode")
sc.dnodeStart(2)
tdSql.query(f"select * from tb")
tdLog.info(f"===> rows {tdSql.getRows()}) last {tdSql.getData(0,1)}")
tdSql.checkAssert(tdSql.getRows() < 40)
tdSql.checkAssert(tdSql.getRows() > 20)
num1 = tdSql.getRows() + 40
tdLog.info(f"======== step3 alter db")
tdSql.execute(f"alter database keepdb keep 60")
tdSql.execute(f"flush database keepdb")
tdSql.query(f"select * from information_schema.ins_databases")
tdSql.checkData(2, 2, 2)
tdSql.checkData(2, 7, "60d")
tdLog.info(f"======== step4 insert data")
x = 41
while x < 81:
time = x + "d"
tdSql.execute_any(f"insert into tb values (now - {time} , {x} )")
x = x + 1
tdSql.query(f"select * from tb")
tdLog.info(f"===> rows {tdSql.getRows()}) last {tdSql.getData(0,1)}")
tdSql.checkAssert(tdSql.getRows() < 80)
tdSql.checkAssert(tdSql.getRows() > 45)
tdLog.info(f"======== step5 stop dnode")
sc.dnodeStop(2)
sc.dnodeStart(2)
clusterComCheck(2)
tdSql.query(f"select * from tb")
tdLog.info(f"===> rows {tdSql.getRows()}) last {tdSql.getData(0,1)}")
tdSql.checkAssert(tdSql.getRows() < 80)
tdSql.checkAssert(tdSql.getRows() > 45)
tdLog.info(f"======== step6 alter db")
tdSql.execute(f"alter database keepdb keep 30")
tdSql.query(f"select * from information_schema.ins_databases")
tdSql.checkData(2, 2, 2)
tdSql.checkData(2, 7, "30d,30d,30d ")
tdLog.info(f"======== step7 stop dnode")
sc.dnodeStop(2)
sc.dnodeStart(2)
clusterComCheck(2)
tdSql.query(f"select * from tb")
tdLog.info(f"===> rows {tdSql.getRows()}) last {tdSql.getData(0,1)}")
tdSql.checkAssert(tdSql.getRows() < 40)
tdSql.checkAssert(tdSql.getRows() > 20)
tdLog.info(f"======== step8 insert data")
x = 81
while x < 121:
time = x + "d"
tdSql.execute_any(f"insert into tb values (now - {time} , {x} )")
x = x + 1
tdSql.query(f"select * from tb")
tdLog.info(f"===> rows {tdSql.getRows()}) last {tdSql.getData(0,1)}")
tdSql.checkAssert(tdSql.getRows() < 40)
tdSql.checkAssert(tdSql.getRows() > 20)
tdLog.info(f"======== step9 alter db")
tdSql.error(f"alter database keepdb keep -1")
tdSql.error(f"alter database keepdb keep 0")
tdSql.error(f"alter database keepdb duration 1")
tdLog.info(f"======= test success")