mirror of
https://github.com/postgres/postgres.git
synced 2026-04-28 09:38:27 -04:00
createuser: Cleanup and fix internal option ordering
This utility supports 23 options that are not really ordered in the code, making the addition of new things more complicated than necessary. This cleanup is in preparation for a patch to add even more options. Discussion: https://postgr.es/m/69a9851035cf0f0477bcc5d742b031a3@oss.nttdata.com
This commit is contained in:
parent
4cc832f94a
commit
50e4c280f0
1 changed files with 49 additions and 49 deletions
|
|
@ -28,29 +28,29 @@ int
|
|||
main(int argc, char *argv[])
|
||||
{
|
||||
static struct option long_options[] = {
|
||||
{"host", required_argument, NULL, 'h'},
|
||||
{"port", required_argument, NULL, 'p'},
|
||||
{"username", required_argument, NULL, 'U'},
|
||||
{"role", required_argument, NULL, 'g'},
|
||||
{"no-password", no_argument, NULL, 'w'},
|
||||
{"password", no_argument, NULL, 'W'},
|
||||
{"echo", no_argument, NULL, 'e'},
|
||||
{"connection-limit", required_argument, NULL, 'c'},
|
||||
{"createdb", no_argument, NULL, 'd'},
|
||||
{"no-createdb", no_argument, NULL, 'D'},
|
||||
{"superuser", no_argument, NULL, 's'},
|
||||
{"no-superuser", no_argument, NULL, 'S'},
|
||||
{"createrole", no_argument, NULL, 'r'},
|
||||
{"no-createrole", no_argument, NULL, 'R'},
|
||||
{"echo", no_argument, NULL, 'e'},
|
||||
{"encrypted", no_argument, NULL, 'E'},
|
||||
{"role", required_argument, NULL, 'g'},
|
||||
{"host", required_argument, NULL, 'h'},
|
||||
{"inherit", no_argument, NULL, 'i'},
|
||||
{"no-inherit", no_argument, NULL, 'I'},
|
||||
{"login", no_argument, NULL, 'l'},
|
||||
{"no-login", no_argument, NULL, 'L'},
|
||||
{"port", required_argument, NULL, 'p'},
|
||||
{"pwprompt", no_argument, NULL, 'P'},
|
||||
{"createrole", no_argument, NULL, 'r'},
|
||||
{"no-createrole", no_argument, NULL, 'R'},
|
||||
{"superuser", no_argument, NULL, 's'},
|
||||
{"no-superuser", no_argument, NULL, 'S'},
|
||||
{"username", required_argument, NULL, 'U'},
|
||||
{"no-password", no_argument, NULL, 'w'},
|
||||
{"password", no_argument, NULL, 'W'},
|
||||
{"replication", no_argument, NULL, 1},
|
||||
{"no-replication", no_argument, NULL, 2},
|
||||
{"interactive", no_argument, NULL, 3},
|
||||
{"connection-limit", required_argument, NULL, 'c'},
|
||||
{"pwprompt", no_argument, NULL, 'P'},
|
||||
{"encrypted", no_argument, NULL, 'E'},
|
||||
{NULL, 0, NULL, 0}
|
||||
};
|
||||
|
||||
|
|
@ -89,31 +89,15 @@ main(int argc, char *argv[])
|
|||
|
||||
handle_help_version_opts(argc, argv, "createuser", help);
|
||||
|
||||
while ((c = getopt_long(argc, argv, "h:p:U:g:wWedDsSrRiIlLc:PE",
|
||||
while ((c = getopt_long(argc, argv, "c:dDeEg:h:iIlLp:PrRsSU:wW",
|
||||
long_options, &optindex)) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case 'h':
|
||||
host = pg_strdup(optarg);
|
||||
break;
|
||||
case 'p':
|
||||
port = pg_strdup(optarg);
|
||||
break;
|
||||
case 'U':
|
||||
username = pg_strdup(optarg);
|
||||
break;
|
||||
case 'g':
|
||||
simple_string_list_append(&roles, optarg);
|
||||
break;
|
||||
case 'w':
|
||||
prompt_password = TRI_NO;
|
||||
break;
|
||||
case 'W':
|
||||
prompt_password = TRI_YES;
|
||||
break;
|
||||
case 'e':
|
||||
echo = true;
|
||||
case 'c':
|
||||
if (!option_parse_int(optarg, "-c/--connection-limit",
|
||||
-1, INT_MAX, &conn_limit))
|
||||
exit(1);
|
||||
break;
|
||||
case 'd':
|
||||
createdb = TRI_YES;
|
||||
|
|
@ -121,17 +105,17 @@ main(int argc, char *argv[])
|
|||
case 'D':
|
||||
createdb = TRI_NO;
|
||||
break;
|
||||
case 's':
|
||||
superuser = TRI_YES;
|
||||
case 'e':
|
||||
echo = true;
|
||||
break;
|
||||
case 'S':
|
||||
superuser = TRI_NO;
|
||||
case 'E':
|
||||
/* no-op, accepted for backward compatibility */
|
||||
break;
|
||||
case 'r':
|
||||
createrole = TRI_YES;
|
||||
case 'g':
|
||||
simple_string_list_append(&roles, optarg);
|
||||
break;
|
||||
case 'R':
|
||||
createrole = TRI_NO;
|
||||
case 'h':
|
||||
host = pg_strdup(optarg);
|
||||
break;
|
||||
case 'i':
|
||||
inherit = TRI_YES;
|
||||
|
|
@ -145,16 +129,32 @@ main(int argc, char *argv[])
|
|||
case 'L':
|
||||
login = TRI_NO;
|
||||
break;
|
||||
case 'c':
|
||||
if (!option_parse_int(optarg, "-c/--connection-limit",
|
||||
-1, INT_MAX, &conn_limit))
|
||||
exit(1);
|
||||
case 'p':
|
||||
port = pg_strdup(optarg);
|
||||
break;
|
||||
case 'P':
|
||||
pwprompt = true;
|
||||
break;
|
||||
case 'E':
|
||||
/* no-op, accepted for backward compatibility */
|
||||
case 'r':
|
||||
createrole = TRI_YES;
|
||||
break;
|
||||
case 'R':
|
||||
createrole = TRI_NO;
|
||||
break;
|
||||
case 's':
|
||||
superuser = TRI_YES;
|
||||
break;
|
||||
case 'S':
|
||||
superuser = TRI_NO;
|
||||
break;
|
||||
case 'U':
|
||||
username = pg_strdup(optarg);
|
||||
break;
|
||||
case 'w':
|
||||
prompt_password = TRI_NO;
|
||||
break;
|
||||
case 'W':
|
||||
prompt_password = TRI_YES;
|
||||
break;
|
||||
case 1:
|
||||
replication = TRI_YES;
|
||||
|
|
|
|||
Loading…
Reference in a new issue