1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-03-05 15:05:48 +02:00

Add allow range to int/float options that did not already have one.

This commit is contained in:
David Steele 2018-02-09 15:42:11 -05:00
parent 7c58fe7451
commit ea296372d4
2 changed files with 32 additions and 1 deletions

View File

@ -428,6 +428,9 @@ use constant CFGDEF_DEFAULT_DB_TIMEOUT => 1800;
use constant CFGDEF_DEFAULT_DB_TIMEOUT_MIN => WAIT_TIME_MINIMUM;
use constant CFGDEF_DEFAULT_DB_TIMEOUT_MAX => 86400 * 7;
use constant CFGDEF_DEFAULT_PROTOCOL_PORT_MIN => 0;
use constant CFGDEF_DEFAULT_PROTOCOL_PORT_MAX => 65535;
use constant CFGDEF_DEFAULT_RETENTION_MIN => 1;
use constant CFGDEF_DEFAULT_RETENTION_MAX => 9999999;
@ -816,6 +819,7 @@ my %hConfigDefine =
&CFGOPT_HOST_ID =>
{
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_ALLOW_RANGE => [1, CFGDEF_INDEX_PG > CFGDEF_INDEX_REPO ? CFGDEF_INDEX_PG : CFGDEF_INDEX_REPO],
&CFGDEF_COMMAND =>
{
&CFGCMD_LOCAL => {},
@ -825,6 +829,7 @@ my %hConfigDefine =
&CFGOPT_PROCESS =>
{
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_ALLOW_RANGE => [0, 1024],
&CFGDEF_COMMAND =>
{
&CFGCMD_LOCAL =>
@ -857,6 +862,7 @@ my %hConfigDefine =
&CFGDEF_TYPE => CFGDEF_TYPE_FLOAT,
&CFGDEF_INTERNAL => true,
&CFGDEF_DEFAULT => 5,
&CFGDEF_ALLOW_RANGE => [.1, 60],
&CFGDEF_DEPEND =>
{
&CFGDEF_DEPEND_OPTION => CFGOPT_TEST,
@ -1320,6 +1326,7 @@ my %hConfigDefine =
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_PREFIX => CFGDEF_PREFIX_REPO,
&CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO,
&CFGDEF_ALLOW_RANGE => [CFGDEF_DEFAULT_PROTOCOL_PORT_MIN, CFGDEF_DEFAULT_PROTOCOL_PORT_MAX],
&CFGDEF_REQUIRED => false,
&CFGDEF_NAME_ALT =>
{
@ -1711,7 +1718,8 @@ my %hConfigDefine =
{
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_DEFAULT => 1073741824,
&CFGDEF_DEFAULT => 1 * 1024 * 1024 * 1024,
&CFGDEF_ALLOW_RANGE => [1, 1024 * 1024 * 1024 * 1024], # 1-1TB
&CFGDEF_COMMAND =>
{
&CFGCMD_BACKUP => {},
@ -1974,6 +1982,7 @@ my %hConfigDefine =
&CFGDEF_INHERIT => CFGOPT_PG_HOST_CMD,
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_REQUIRED => false,
&CFGDEF_ALLOW_RANGE => [CFGDEF_DEFAULT_PROTOCOL_PORT_MIN, CFGDEF_DEFAULT_PROTOCOL_PORT_MAX],
&CFGDEF_NAME_ALT =>
{
'db-ssh-port' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
@ -2037,6 +2046,7 @@ my %hConfigDefine =
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_PREFIX => CFGDEF_PREFIX_PG,
&CFGDEF_DEFAULT => 5432,
&CFGDEF_ALLOW_RANGE => [CFGDEF_DEFAULT_PROTOCOL_PORT_MIN, CFGDEF_DEFAULT_PROTOCOL_PORT_MAX],
&CFGDEF_NAME_ALT =>
{
'db-port' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
@ -2177,6 +2187,14 @@ foreach my $strKey (sort(keys(%hConfigDefine)))
{
$hConfigDefine{$strKey}{&CFGDEF_INDEX_TOTAL} = 1;
}
# All int and float options must have an allow range
if (($hConfigDefine{$strKey}{&CFGDEF_TYPE} eq CFGDEF_TYPE_INTEGER ||
$hConfigDefine{$strKey}{&CFGDEF_TYPE} eq CFGDEF_TYPE_FLOAT) &&
!(defined($hConfigDefine{$strKey}{&CFGDEF_ALLOW_RANGE}) || defined($hConfigDefine{$strKey}{&CFGDEF_ALLOW_LIST})))
{
confess &log(ASSERT, "int/float option '${strKey}' must have allow range or list");
}
}
####################################################################################################################################

View File

@ -991,6 +991,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
(
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdLocal)
)
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(1, 8)
)
)
// -----------------------------------------------------------------------------------------------------------------------------
@ -1394,6 +1399,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(1, 1099511627776)
CFGDEFDATA_OPTION_OPTIONAL_DEFAULT("1073741824")
)
)
@ -1810,6 +1816,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(0, 65535)
CFGDEFDATA_OPTION_OPTIONAL_DEPEND(cfgDefOptPgHost)
CFGDEFDATA_OPTION_OPTIONAL_PREFIX("pg")
CFGDEFDATA_OPTION_OPTIONAL_HELP_NAME_ALT("db-ssh-port")
@ -1964,6 +1971,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(0, 65535)
CFGDEFDATA_OPTION_OPTIONAL_DEPEND(cfgDefOptPgPath)
CFGDEFDATA_OPTION_OPTIONAL_DEFAULT("5432")
CFGDEFDATA_OPTION_OPTIONAL_PREFIX("pg")
@ -2005,6 +2013,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(0, 65535)
CFGDEFDATA_OPTION_OPTIONAL_DEPEND(cfgDefOptPgPath)
CFGDEFDATA_OPTION_OPTIONAL_PREFIX("pg")
CFGDEFDATA_OPTION_OPTIONAL_HELP_NAME_ALT("db-socket-path")
@ -2031,6 +2040,8 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(0, 1024)
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRRIDE
(
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdLocal)
@ -2500,6 +2511,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(0, 65535)
CFGDEFDATA_OPTION_OPTIONAL_DEPEND(cfgDefOptRepoHost)
CFGDEFDATA_OPTION_OPTIONAL_PREFIX("repo")
CFGDEFDATA_OPTION_OPTIONAL_HELP_NAME_ALT("backup-ssh-port")
@ -3787,6 +3799,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
CFGDEFDATA_OPTION_OPTIONAL_ALLOW_RANGE(0.1, 60)
CFGDEFDATA_OPTION_OPTIONAL_DEPEND_LIST
(
cfgDefOptTest,