]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
pg_createsubscriber: Improve error messages.
authorAmit Kapila <akapila@postgresql.org>
Fri, 4 Apr 2025 05:28:59 +0000 (10:58 +0530)
committerAmit Kapila <akapila@postgresql.org>
Fri, 4 Apr 2025 05:28:59 +0000 (10:58 +0530)
Consistently, an option name is used in the error messages where
applicable. Also, change the code to use pg_fatal() instead of a
combination of pg_log_error() and exit().

Author: vignesh C <vignesh21@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/CALDaNm0HxF1RH27LP7VisLzNsSJbssy8a64M5p6UduDaBq6-ag@mail.gmail.com

src/bin/pg_basebackup/pg_createsubscriber.c
src/bin/pg_basebackup/t/040_pg_createsubscriber.pl

index eed3793c8168b20db3e2ca8e6766e15a0ae9070b..1d2f39e3926c9f82da8d698e4291505062e318a4 100644 (file)
@@ -2124,10 +2124,7 @@ main(int argc, char **argv)
                                        num_dbs++;
                                }
                                else
-                               {
-                                       pg_log_error("database \"%s\" specified more than once", optarg);
-                                       exit(1);
-                               }
+                                       pg_fatal("database \"%s\" specified more than once for -d/--database", optarg);
                                break;
                        case 'D':
                                subscriber_dir = pg_strdup(optarg);
@@ -2146,7 +2143,7 @@ main(int argc, char **argv)
                                if (!simple_string_list_member(&opt.objecttypes_to_remove, optarg))
                                        simple_string_list_append(&opt.objecttypes_to_remove, optarg);
                                else
-                                       pg_fatal("object type \"%s\" is specified more than once for --remove", optarg);
+                                       pg_fatal("object type \"%s\" is specified more than once for -R/--remove", optarg);
                                break;
                        case 's':
                                opt.socket_dir = pg_strdup(optarg);
@@ -2174,10 +2171,7 @@ main(int argc, char **argv)
                                        num_pubs++;
                                }
                                else
-                               {
-                                       pg_log_error("publication \"%s\" specified more than once", optarg);
-                                       exit(1);
-                               }
+                                       pg_fatal("publication \"%s\" specified more than once for --publication", optarg);
                                break;
                        case 3:
                                if (!simple_string_list_member(&opt.replslot_names, optarg))
@@ -2186,10 +2180,7 @@ main(int argc, char **argv)
                                        num_replslots++;
                                }
                                else
-                               {
-                                       pg_log_error("replication slot \"%s\" specified more than once", optarg);
-                                       exit(1);
-                               }
+                                       pg_fatal("replication slot \"%s\" specified more than once for --replication-slot", optarg);
                                break;
                        case 4:
                                if (!simple_string_list_member(&opt.sub_names, optarg))
@@ -2198,10 +2189,7 @@ main(int argc, char **argv)
                                        num_subs++;
                                }
                                else
-                               {
-                                       pg_log_error("subscription \"%s\" specified more than once", optarg);
-                                       exit(1);
-                               }
+                                       pg_fatal("subscription \"%s\" specified more than once for --subscription", optarg);
                                break;
                        default:
                                /* getopt_long already emitted a complaint */
@@ -2226,7 +2214,7 @@ main(int argc, char **argv)
 
                if (bad_switch)
                {
-                       pg_log_error("%s cannot be used with --all", bad_switch);
+                       pg_log_error("%s cannot be used with -a/--all", bad_switch);
                        pg_log_error_hint("Try \"%s --help\" for more information.", progname);
                        exit(1);
                }
@@ -2352,7 +2340,7 @@ main(int argc, char **argv)
                        dbinfos.objecttypes_to_remove |= OBJECTTYPE_PUBLICATIONS;
                else
                {
-                       pg_log_error("invalid object type \"%s\" specified for --remove", cell->val);
+                       pg_log_error("invalid object type \"%s\" specified for -R/--remove", cell->val);
                        pg_log_error_hint("The valid option is: \"publications\"");
                        exit(1);
                }
index 80153f7d77e89a825426a18800b932906259d75f..2d532fee567dd20ec2eaf080532b81d261ecdfdf 100644 (file)
@@ -399,7 +399,7 @@ command_fails_like(
                '--database' => $db1,
                '--all',
        ],
-       qr/--database cannot be used with --all/,
+       qr/--database cannot be used with -a\/--all/,
        'fail if --database is used with --all');
 
 # run pg_createsubscriber with '--publication' and '--all' and verify
@@ -416,7 +416,7 @@ command_fails_like(
                '--all',
                '--publication' => 'pub1',
        ],
-       qr/--publication cannot be used with --all/,
+       qr/--publication cannot be used with -a\/--all/,
        'fail if --publication is used with --all');
 
 # run pg_createsubscriber with '--all' option