support one keep for storage
This commit is contained in:
parent
99c9ebb99b
commit
bbe9e3a093
|
@ -5830,39 +5830,29 @@ static int32_t setKeepOption(SSqlCmd* pCmd, SCreateDbMsg* pMsg, SCreateDbInfo* p
|
|||
SArray* pKeep = pCreateDb->keep;
|
||||
if (pKeep != NULL) {
|
||||
size_t s = taosArrayGetSize(pKeep);
|
||||
tVariantListItem* p0 = taosArrayGet(pKeep, 0);
|
||||
size_t expectNum = 1;
|
||||
#ifdef _STORAGE
|
||||
expectNum = 3;
|
||||
if (s >= 4 ||s <= 0) {
|
||||
#else
|
||||
if (s != 1) {
|
||||
#endif
|
||||
if (s != expectNum) {
|
||||
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg1);
|
||||
}
|
||||
|
||||
if ((int32_t)p0->pVar.i64 <= 0) {
|
||||
tVariantListItem* p0 = taosArrayGet(pKeep, 0);
|
||||
tVariantListItem* p1 = (s > 1) ? taosArrayGet(pKeep, 1) : p0;
|
||||
tVariantListItem* p2 = (s > 2) ? taosArrayGet(pKeep, 2) : p1;
|
||||
|
||||
if ((int32_t)p0->pVar.i64 <= 0 || (int32_t)p1->pVar.i64 <= 0 || (int32_t)p2->pVar.i64 <= 0) {
|
||||
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2);
|
||||
}
|
||||
pMsg->daysToKeep0 = htonl((int32_t)p0->pVar.i64);
|
||||
|
||||
#ifdef _STORAGE
|
||||
tVariantListItem* p1 = taosArrayGet(pKeep, 1);
|
||||
tVariantListItem* p2 = taosArrayGet(pKeep, 2);
|
||||
|
||||
if ((int32_t)p1->pVar.i64 <= 0 || (int32_t)p2->pVar.i64 <= 0) {
|
||||
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2);
|
||||
}
|
||||
|
||||
if (!(((int32_t)p0->pVar.i64 <= (int32_t)p1->pVar.i64) && ((int32_t)p1->pVar.i64 <= (int32_t)p2->pVar.i64))) {
|
||||
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3);
|
||||
}
|
||||
|
||||
pMsg->daysToKeep0 = htonl((int32_t)p0->pVar.i64);
|
||||
pMsg->daysToKeep1 = htonl((int32_t)p1->pVar.i64);
|
||||
pMsg->daysToKeep2 = htonl((int32_t)p2->pVar.i64);
|
||||
#else
|
||||
UNUSED(msg3);
|
||||
pMsg->daysToKeep1 = pMsg->daysToKeep0;
|
||||
pMsg->daysToKeep2 = pMsg->daysToKeep0;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
return TSDB_CODE_SUCCESS;
|
||||
|
|
|
@ -25,12 +25,12 @@ sql use $db
|
|||
|
||||
sql_error alter database $db keep "20"
|
||||
sql_error alter database $db keep "20","20","20"
|
||||
sql_error alter database $db keep 20
|
||||
sql_error alter database $db keep 20,19
|
||||
sql_error alter database $db keep 20.0
|
||||
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 -1,-1,-1
|
||||
sql_error alter database $db keep 20,20
|
||||
sql_error alter database $db keep 9,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
|
||||
|
@ -38,6 +38,22 @@ sql_error alter database $db keep 20,19,19
|
|||
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 alter database $db keep 21
|
||||
sql show databases
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 21,21,21 then
|
||||
return -1
|
||||
endi
|
||||
sql alter database $db keep 11,12
|
||||
sql show databases
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 11,12,12 then
|
||||
return -1
|
||||
endi
|
||||
sql alter database $db keep 20,20,20
|
||||
sql show databases
|
||||
if $rows != 1 then
|
||||
|
|
|
@ -159,8 +159,28 @@ sql_error create database $db keep "11"
|
|||
sql_error create database $db keep 13,12,11
|
||||
sql_error create database $db keep 11,12,11
|
||||
sql_error create database $db keep 12,11,12
|
||||
sql_error create database $db keep 11,11
|
||||
sql_error create database $db keep 8
|
||||
sql_error create database $db keep 12,11
|
||||
sql_error create database $db keep 365001,365001,365001
|
||||
sql create database dbk0 keep 19
|
||||
sql show databases
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 19,19,19 then
|
||||
return -1
|
||||
endi
|
||||
sql drop database dbk0
|
||||
sql create database dbka keep 19,20
|
||||
sql show databases
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 19,20,20 then
|
||||
return -1
|
||||
endi
|
||||
sql drop database dbka
|
||||
|
||||
sql create database dbk1 keep 11,11,11
|
||||
sql show databases
|
||||
if $rows != 1 then
|
||||
|
|
Loading…
Reference in New Issue