diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index d85ced7a2a..96a5d8a291 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -1564,7 +1564,7 @@ static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt* pS static int32_t checkRangeOption(STranslateContext* pCxt, const char* pName, int32_t val, int32_t minVal, int32_t maxVal) { - if (val < minVal || val > maxVal) { + if (val >= 0 && (val < minVal || val > maxVal)) { return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_RANGE_OPTION, pName, val, minVal, maxVal); } return TSDB_CODE_SUCCESS; @@ -1649,7 +1649,7 @@ static int32_t checkDbPrecisionOption(STranslateContext* pCxt, SDatabaseOptions* } static int32_t checkDbEnumOption(STranslateContext* pCxt, const char* pName, int32_t val, int32_t v1, int32_t v2) { - if (val != v1 && val != v2) { + if (val >= 0 && val != v1 && val != v2) { return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_ENUM_OPTION, pName, val, v1, v2); } return TSDB_CODE_SUCCESS; @@ -1688,7 +1688,7 @@ static int32_t checkOptionsDependency(STranslateContext* pCxt, const char* pDbNa return code; } daysPerFile = (-1 == daysPerFile ? dbCfg.daysPerFile : daysPerFile); - daysToKeep0 = (-1 == daysPerFile ? dbCfg.daysToKeep0 : daysToKeep0); + daysToKeep0 = (-1 == daysToKeep0 ? dbCfg.daysToKeep0 : daysToKeep0); } if (daysPerFile > daysToKeep0) { return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DAYS_VALUE); diff --git a/tests/script/tsim/db/alter_option.sim b/tests/script/tsim/db/alter_option.sim index 1f0c2043e8..b847149be3 100644 --- a/tests/script/tsim/db/alter_option.sim +++ b/tests/script/tsim/db/alter_option.sim @@ -66,7 +66,7 @@ print ============= create database # | REPLICA value [1 | 3] # | WAL value [1 | 2] -sql create database db BLOCKS 7 CACHE 3 CACHELAST 3 COMP 0 DAYS 345600 FSYNC 1000 MAXROWS 8000 MINROWS 10 KEEP 1440000 PRECISION 'ns' REPLICA 1 TTL 7 WAL 2 VGROUPS 6 SINGLE_STABLE 1 STREAM_MODE 1 +sql create database db CACHELAST 3 COMP 0 DAYS 345600 FSYNC 1000 MAXROWS 8000 MINROWS 10 KEEP 1440000 PRECISION 'ns' REPLICA 1 WAL 2 VGROUPS 6 SINGLE_STABLE 1 sql show databases print rows: $rows print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09 @@ -98,12 +98,12 @@ endi if $data7_db != 1440000,1440000,1440000 then # keep return -1 endi -if $data8_db != 3 then # cache - return -1 -endi -if $data9_db != 7 then # blocks - return -1 -endi +#if $data8_db != 3 then # cache +# return -1 +#endi +#if $data9_db != 7 then # blocks +# return -1 +#endi if $data10_db != 10 then # minrows return -1 endi @@ -250,41 +250,41 @@ sql_error alter database db keep 0 sql_error alter database db keep -1 #sql_error alter database db keep 365001 -print ============== modify cache -sql_error alter database db cache 12 -sql_error alter database db cache 1 -sql_error alter database db cache 60 -sql_error alter database db cache 50 -sql_error alter database db cache 20 -sql_error alter database db cache 3 -sql_error alter database db cache 129 -sql_error alter database db cache 300 -sql_error alter database db cache 0 -sql_error alter database db cache -1 +#print ============== modify cache +#sql_error alter database db cache 12 +#sql_error alter database db cache 1 +#sql_error alter database db cache 60 +#sql_error alter database db cache 50 +#sql_error alter database db cache 20 +#sql_error alter database db cache 3 +#sql_error alter database db cache 129 +#sql_error alter database db cache 300 +#sql_error alter database db cache 0 +#sql_error alter database db cache -1 -print ============== modify blocks -sql alter database db blocks 3 -sql show databases -print blocks $data9_db -if $data9_db != 3 then - return -1 -endi -sql alter database db blocks 11 -sql show databases -print blocks $data9_db -if $data9_db != 11 then - return -1 -endi +#print ============== modify blocks +#sql alter database db blocks 3 +#sql show databases +#print blocks $data9_db +#if $data9_db != 3 then +# return -1 +#endi +#sql alter database db blocks 11 +#sql show databases +#print blocks $data9_db +#if $data9_db != 11 then +# return -1 +#endi -sql alter database db blocks 40 -sql alter database db blocks 30 -sql alter database db blocks 20 -sql alter database db blocks 10 -sql_error alter database db blocks 2 -sql_error alter database db blocks 1 -sql_error alter database db blocks 0 -sql_error alter database db blocks -1 -sql_error alter database db blocks 10001 +#sql alter database db blocks 40 +#sql alter database db blocks 30 +#sql alter database db blocks 20 +#sql alter database db blocks 10 +#sql_error alter database db blocks 2 +#sql_error alter database db blocks 1 +#sql_error alter database db blocks 0 +#sql_error alter database db blocks -1 +#sql_error alter database db blocks 10001 print ============== modify minrows sql_error alter database db minrows 8