Fix pg_amcheck --skip option parameter handling

The skip options set for all-visible and all-frozen were incorrect
as they used space rather than hyphen, causing a syntax error when
invoked. Also, the option for not skipping any pages at all, none,
was documented but not implemented.

Backpatch through 14 where pg_amcheck was introduced.

Bug: #17149
Reported-by: Chen Jiaoqian <chenjq.jy@fujitsu.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/17149-5918ea748da36b15@postgresql.org
Backpatch-through: 14
This commit is contained in:
Daniel Gustafsson 2021-08-18 11:23:43 +02:00
parent 8f51ee63df
commit 5310c61ecc
1 changed files with 4 additions and 2 deletions

View File

@ -397,9 +397,11 @@ main(int argc, char *argv[])
break;
case 6:
if (pg_strcasecmp(optarg, "all-visible") == 0)
opts.skip = "all visible";
opts.skip = "all-visible";
else if (pg_strcasecmp(optarg, "all-frozen") == 0)
opts.skip = "all frozen";
opts.skip = "all-frozen";
else if (pg_strcasecmp(optarg, "none") == 0)
opts.skip = "none";
else
{
pg_log_error("invalid argument for option %s", "--skip");