Merge pull request #22625 from taosdata/enh/TD-23879-3.0

enh: allow altering options to the same value
This commit is contained in:
dapan1121 2023-09-06 13:34:49 +08:00 committed by GitHub
commit 2bc8b3f7ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 5 deletions

View File

@ -1017,7 +1017,10 @@ static int32_t mndProcessAlterDbReq(SRpcMsg *pReq) {
}
code = mndSetDbCfgFromAlterDbReq(&dbObj, &alterReq);
if (code != 0) goto _OVER;
if (code != 0) {
if (code == TSDB_CODE_MND_DB_OPTION_UNCHANGED) code = 0;
goto _OVER;
}
code = mndCheckInChangeDbCfg(pMnode, &dbObj.cfg);
if (code != 0) goto _OVER;

View File

@ -35,7 +35,7 @@ sql_error alter database $db keep 20.0,20.0,20.0
sql_error alter database $db keep 0,0,0
sql_error alter database $db keep 3
sql_error alter database $db keep -1,-1,-1
sql_error alter database $db keep 20,20
sql alter database $db keep 20,20
sql_error alter database $db keep 9,9,9
sql_error alter database $db keep 20,20,19
sql_error alter database $db keep 20,19,20
@ -44,7 +44,7 @@ sql_error alter database $db keep 20,19,18
sql_error alter database $db keep 20,20,20,20
sql_error alter database $db keep 365001,365001,365001
sql_error alter database $db keep 365001
sql_error alter database $db keep 20
sql alter database $db keep 20
sql select * from information_schema.ins_databases
if $rows != 3 then
return -1

View File

@ -18,7 +18,7 @@ class TDTestCase:
tdSql.init(conn.cursor(), logSql)
self.buffer_boundary = [3, 4097, 8193, 12289, 16384]
self.buffer_error = [self.buffer_boundary[0] -
1, self.buffer_boundary[-1]+1, 256]
1, self.buffer_boundary[-1]+1]
# pages_boundary >= 64
self.pages_boundary = [64, 128, 512]
self.pages_error = [self.pages_boundary[0]-1]
@ -47,15 +47,40 @@ class TDTestCase:
tdSql.execute('create database db')
tdSql.query(
'select * from information_schema.ins_databases where name = "db"')
self.pages_error.append(tdSql.queryResult[0][10])
# self.pages_error.append(tdSql.queryResult[0][10])
for pages in self.pages_error:
tdSql.error(f'alter database db pages {pages}')
tdSql.execute('drop database db')
def alter_same_options(self):
tdSql.execute('drop database if exists db')
tdSql.execute('create database db')
tdSql.query('select * from information_schema.ins_databases where name = "db"')
db_options_items = ["replica","keep","buffer","pages","minrows","cachemodel","cachesize","wal_level","wal_fsync_period",
"wal_retention_period","wal_retention_size","stt_trigger"]
db_options_result_idx = [4,7,8,10,11,18,19,20,21,22,23,24]
self.option_result = []
for idx in db_options_result_idx:
self.option_result.append(tdSql.queryResult[0][idx])
index = 0
for option in db_options_items:
if option == "cachemodel":
option_sql = "alter database db %s '%s'" % (option, self.option_result[index] )
else:
option_sql = "alter database db %s %s" % (option, self.option_result[index] )
tdLog.debug(option_sql)
tdSql.query(option_sql)
index += 1
tdSql.execute('drop database db')
def run(self):
self.alter_buffer()
self.alter_pages()
self.alter_same_options()
def stop(self):
tdSql.close()