mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
Message style improvements
Some message style improvements in new code, and some small refactorings to make translations easier.
This commit is contained in:
@ -247,14 +247,14 @@ usage(void)
|
||||
printf(_(" %s [OPTION]...\n"), progname);
|
||||
printf(_("\nOptions:\n"));
|
||||
printf(_(" -a, --all create subscriptions for all databases except template\n"
|
||||
" databases or databases that don't allow connections\n"));
|
||||
" databases and databases that don't allow connections\n"));
|
||||
printf(_(" -d, --database=DBNAME database in which to create a subscription\n"));
|
||||
printf(_(" -D, --pgdata=DATADIR location for the subscriber data directory\n"));
|
||||
printf(_(" -n, --dry-run dry run, just show what would be done\n"));
|
||||
printf(_(" -p, --subscriber-port=PORT subscriber port number (default %s)\n"), DEFAULT_SUB_PORT);
|
||||
printf(_(" -P, --publisher-server=CONNSTR publisher connection string\n"));
|
||||
printf(_(" -R, --remove=OBJECTTYPE remove all objects of the specified type from specified\n"
|
||||
" databases on the subscriber; accepts: publications\n"));
|
||||
" databases on the subscriber; accepts: \"%s\"\n"), "publications");
|
||||
printf(_(" -s, --socketdir=DIR socket directory to use (default current dir.)\n"));
|
||||
printf(_(" -t, --recovery-timeout=SECS seconds to wait for recovery to end\n"));
|
||||
printf(_(" -T, --enable-two-phase enable two-phase commit for all subscriptions\n"));
|
||||
@ -973,7 +973,7 @@ check_publisher(const struct LogicalRepInfo *dbinfo)
|
||||
pg_log_warning("two_phase option will not be enabled for replication slots");
|
||||
pg_log_warning_detail("Subscriptions will be created with the two_phase option disabled. "
|
||||
"Prepared transactions will be replicated at COMMIT PREPARED.");
|
||||
pg_log_warning_hint("You can use --enable-two-phase switch to enable two_phase.");
|
||||
pg_log_warning_hint("You can use the command-line option --enable-two-phase to enable two_phase.");
|
||||
}
|
||||
|
||||
/*
|
||||
@ -2143,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 -R/--remove", optarg);
|
||||
pg_fatal("object type \"%s\" specified more than once for -R/--remove", optarg);
|
||||
break;
|
||||
case 's':
|
||||
opt.socket_dir = pg_strdup(optarg);
|
||||
@ -2214,7 +2214,7 @@ main(int argc, char **argv)
|
||||
|
||||
if (bad_switch)
|
||||
{
|
||||
pg_log_error("%s cannot be used with -a/--all", bad_switch);
|
||||
pg_log_error("options %s and -a/--all cannot be used together", bad_switch);
|
||||
pg_log_error_hint("Try \"%s --help\" for more information.", progname);
|
||||
exit(1);
|
||||
}
|
||||
@ -2341,7 +2341,7 @@ main(int argc, char **argv)
|
||||
else
|
||||
{
|
||||
pg_log_error("invalid object type \"%s\" specified for -R/--remove", cell->val);
|
||||
pg_log_error_hint("The valid option is: \"publications\"");
|
||||
pg_log_error_hint("The valid value is: \"%s\"", "publications");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ usage(void)
|
||||
printf(_("\nOptions:\n"));
|
||||
printf(_(" -E, --endpos=LSN exit after receiving the specified LSN\n"));
|
||||
printf(_(" --failover enable replication slot synchronization to standby servers when\n"
|
||||
" creating a slot\n"));
|
||||
" creating a replication slot\n"));
|
||||
printf(_(" -f, --file=FILE receive log into this file, - for stdout\n"));
|
||||
printf(_(" -F --fsync-interval=SECS\n"
|
||||
" time between fsyncs to the output file (default: %d)\n"), (fsync_interval / 1000));
|
||||
|
@ -399,7 +399,7 @@ command_fails_like(
|
||||
'--database' => $db1,
|
||||
'--all',
|
||||
],
|
||||
qr/--database cannot be used with -a\/--all/,
|
||||
qr/options --database and -a\/--all cannot be used together/,
|
||||
'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 -a\/--all/,
|
||||
qr/options --publication and -a\/--all cannot be used together/,
|
||||
'fail if --publication is used with --all');
|
||||
|
||||
# run pg_createsubscriber with '--all' option
|
||||
|
@ -6936,7 +6936,7 @@ getRelationStatistics(Archive *fout, DumpableObject *rel, int32 relpages,
|
||||
info->section = SECTION_POST_DATA;
|
||||
break;
|
||||
default:
|
||||
pg_fatal("cannot dump statistics for relation kind '%c'",
|
||||
pg_fatal("cannot dump statistics for relation kind \"%c\"",
|
||||
info->relkind);
|
||||
}
|
||||
|
||||
@ -9461,7 +9461,7 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
int i_consrc;
|
||||
int i_conislocal;
|
||||
|
||||
pg_log_info("finding invalid not null constraints");
|
||||
pg_log_info("finding invalid not-null constraints");
|
||||
|
||||
resetPQExpBuffer(q);
|
||||
appendPQExpBuffer(q,
|
||||
@ -10855,7 +10855,7 @@ dumpRelationStats_dumper(Archive *fout, const void *userArg, const TocEntry *te)
|
||||
expected_te = expected_te->next;
|
||||
|
||||
if (te != expected_te)
|
||||
pg_fatal("stats dumped out of order (current: %d %s %s) (expected: %d %s %s)",
|
||||
pg_fatal("statistics dumped out of order (current: %d %s %s, expected: %d %s %s)",
|
||||
te->dumpId, te->desc, te->tag,
|
||||
expected_te->dumpId, expected_te->desc, expected_te->tag);
|
||||
|
||||
@ -10996,7 +10996,7 @@ dumpRelationStats_dumper(Archive *fout, const void *userArg, const TocEntry *te)
|
||||
appendStringLiteralAH(out, rsinfo->dobj.name, fout);
|
||||
|
||||
if (PQgetisnull(res, rownum, i_attname))
|
||||
pg_fatal("attname cannot be NULL");
|
||||
pg_fatal("unexpected null attname");
|
||||
attname = PQgetvalue(res, rownum, i_attname);
|
||||
|
||||
/*
|
||||
|
@ -525,7 +525,7 @@ main(int argc, char *argv[])
|
||||
|
||||
OPF = fopen(global_path, PG_BINARY_W);
|
||||
if (!OPF)
|
||||
pg_fatal("could not open \"%s\": %m", global_path);
|
||||
pg_fatal("could not open file \"%s\": %m", global_path);
|
||||
}
|
||||
else if (filename)
|
||||
{
|
||||
@ -1659,14 +1659,14 @@ dumpDatabases(PGconn *conn, ArchiveFormat archDumpFormat)
|
||||
|
||||
/* Create a subdirectory with 'databases' name under main directory. */
|
||||
if (mkdir(db_subdir, pg_dir_create_mode) != 0)
|
||||
pg_fatal("could not create subdirectory \"%s\": %m", db_subdir);
|
||||
pg_fatal("could not create directory \"%s\": %m", db_subdir);
|
||||
|
||||
snprintf(map_file_path, MAXPGPATH, "%s/map.dat", filename);
|
||||
|
||||
/* Create a map file (to store dboid and dbname) */
|
||||
map_file = fopen(map_file_path, PG_BINARY_W);
|
||||
if (!map_file)
|
||||
pg_fatal("could not open map file: %s", strerror(errno));
|
||||
pg_fatal("could not open file \"%s\": %m", map_file_path);
|
||||
}
|
||||
|
||||
for (i = 0; i < PQntuples(res); i++)
|
||||
@ -1976,7 +1976,7 @@ parseDumpFormat(const char *format)
|
||||
else if (pg_strcasecmp(format, "tar") == 0)
|
||||
archDumpFormat = archTar;
|
||||
else
|
||||
pg_fatal("unrecognized archive format \"%s\"; please specify \"c\", \"d\", \"p\", or \"t\"",
|
||||
pg_fatal("unrecognized output format \"%s\"; please specify \"c\", \"d\", \"p\", or \"t\"",
|
||||
format);
|
||||
|
||||
return archDumpFormat;
|
||||
|
@ -523,7 +523,7 @@ main(int argc, char **argv)
|
||||
*/
|
||||
if (!globals_only && opts->createDB != 1)
|
||||
{
|
||||
pg_log_error("-C/--create option should be specified when restoring an archive created by pg_dumpall");
|
||||
pg_log_error("option -C/--create must be specified when restoring an archive created by pg_dumpall");
|
||||
pg_log_error_hint("Try \"%s --help\" for more information.", progname);
|
||||
pg_log_error_hint("Individual databases can be restored using their specific archives.");
|
||||
exit_nicely(1);
|
||||
@ -557,7 +557,7 @@ main(int argc, char **argv)
|
||||
if (conn)
|
||||
PQfinish(conn);
|
||||
|
||||
pg_log_info("database restoring skipped as -g/--globals-only option was specified");
|
||||
pg_log_info("database restoring skipped because option -g/--globals-only was specified");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -725,8 +725,8 @@ usage(const char *progname)
|
||||
printf(_(" --role=ROLENAME do SET ROLE before restore\n"));
|
||||
|
||||
printf(_("\n"
|
||||
"The options -I, -n, -N, -P, -t, -T, --section, and --exclude-database can be combined\n"
|
||||
"and specified multiple times to select multiple objects.\n"));
|
||||
"The options -I, -n, -N, -P, -t, -T, --section, and --exclude-database can be\n"
|
||||
"combined and specified multiple times to select multiple objects.\n"));
|
||||
printf(_("\nIf no input file name is supplied, then standard input is used.\n\n"));
|
||||
printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
|
||||
printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
|
||||
@ -946,7 +946,7 @@ get_dbnames_list_to_restore(PGconn *conn,
|
||||
query = createPQExpBuffer();
|
||||
|
||||
if (!conn)
|
||||
pg_log_info("considering PATTERN as NAME for --exclude-database option as no db connection while doing pg_restore.");
|
||||
pg_log_info("considering PATTERN as NAME for --exclude-database option as no database connection while doing pg_restore");
|
||||
|
||||
/*
|
||||
* Process one by one all dbnames and if specified to skip restoring, then
|
||||
@ -992,7 +992,7 @@ get_dbnames_list_to_restore(PGconn *conn,
|
||||
if ((PQresultStatus(res) == PGRES_TUPLES_OK) && PQntuples(res))
|
||||
{
|
||||
skip_db_restore = true;
|
||||
pg_log_info("database \"%s\" matches exclude pattern: \"%s\"", dbidname->str, pat_cell->val);
|
||||
pg_log_info("database name \"%s\" matches exclude pattern \"%s\"", dbidname->str, pat_cell->val);
|
||||
}
|
||||
|
||||
PQclear(res);
|
||||
@ -1048,7 +1048,7 @@ get_dbname_oid_list_from_mfile(const char *dumpdirpath, SimplePtrList *dbname_oi
|
||||
*/
|
||||
if (!file_exists_in_directory(dumpdirpath, "map.dat"))
|
||||
{
|
||||
pg_log_info("database restoring is skipped as \"map.dat\" is not present in \"%s\"", dumpdirpath);
|
||||
pg_log_info("database restoring is skipped because file \"%s\" does not exist in directory \"%s\"", "map.dat", dumpdirpath);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1058,7 +1058,7 @@ get_dbname_oid_list_from_mfile(const char *dumpdirpath, SimplePtrList *dbname_oi
|
||||
pfile = fopen(map_file_path, PG_BINARY_R);
|
||||
|
||||
if (pfile == NULL)
|
||||
pg_fatal("could not open \"%s\": %m", map_file_path);
|
||||
pg_fatal("could not open file \"%s\": %m", map_file_path);
|
||||
|
||||
initStringInfo(&linebuf);
|
||||
|
||||
@ -1086,10 +1086,10 @@ get_dbname_oid_list_from_mfile(const char *dumpdirpath, SimplePtrList *dbname_oi
|
||||
|
||||
/* Report error and exit if the file has any corrupted data. */
|
||||
if (!OidIsValid(db_oid) || namelen <= 1)
|
||||
pg_fatal("invalid entry in \"%s\" at line: %d", map_file_path,
|
||||
pg_fatal("invalid entry in file \"%s\" on line %d", map_file_path,
|
||||
count + 1);
|
||||
|
||||
pg_log_info("found database \"%s\" (OID: %u) in \"%s\"",
|
||||
pg_log_info("found database \"%s\" (OID: %u) in file \"%s\"",
|
||||
dbname, db_oid, map_file_path);
|
||||
|
||||
dbidname = pg_malloc(offsetof(DbOidName, str) + namelen + 1);
|
||||
@ -1142,11 +1142,14 @@ restore_all_databases(PGconn *conn, const char *dumpdirpath,
|
||||
if (dbname_oid_list.head == NULL)
|
||||
return process_global_sql_commands(conn, dumpdirpath, opts->filename);
|
||||
|
||||
pg_log_info("found %d database names in \"map.dat\"", num_total_db);
|
||||
pg_log_info(ngettext("found %d database name in \"%s\"",
|
||||
"found %d database names in \"%s\"",
|
||||
num_total_db),
|
||||
num_total_db, "map.dat");
|
||||
|
||||
if (!conn)
|
||||
{
|
||||
pg_log_info("trying to connect database \"postgres\"");
|
||||
pg_log_info("trying to connect to database \"%s\"", "postgres");
|
||||
|
||||
conn = ConnectDatabase("postgres", NULL, opts->cparams.pghost,
|
||||
opts->cparams.pgport, opts->cparams.username, TRI_DEFAULT,
|
||||
@ -1155,7 +1158,7 @@ restore_all_databases(PGconn *conn, const char *dumpdirpath,
|
||||
/* Try with template1. */
|
||||
if (!conn)
|
||||
{
|
||||
pg_log_info("trying to connect database \"template1\"");
|
||||
pg_log_info("trying to connect to database \"%s\"", "template1");
|
||||
|
||||
conn = ConnectDatabase("template1", NULL, opts->cparams.pghost,
|
||||
opts->cparams.pgport, opts->cparams.username, TRI_DEFAULT,
|
||||
@ -1179,7 +1182,9 @@ restore_all_databases(PGconn *conn, const char *dumpdirpath,
|
||||
/* Exit if no db needs to be restored. */
|
||||
if (dbname_oid_list.head == NULL || num_db_restore == 0)
|
||||
{
|
||||
pg_log_info("no database needs to restore out of %d databases", num_total_db);
|
||||
pg_log_info(ngettext("no database needs restoring out of %d database",
|
||||
"no database needs restoring out of %d databases", num_total_db),
|
||||
num_total_db);
|
||||
return n_errors_total;
|
||||
}
|
||||
|
||||
@ -1314,7 +1319,7 @@ process_global_sql_commands(PGconn *conn, const char *dumpdirpath, const char *o
|
||||
pfile = fopen(global_file_path, PG_BINARY_R);
|
||||
|
||||
if (pfile == NULL)
|
||||
pg_fatal("could not open \"%s\": %m", global_file_path);
|
||||
pg_fatal("could not open file \"%s\": %m", global_file_path);
|
||||
|
||||
/*
|
||||
* If outfile is given, then just copy all global.dat file data into
|
||||
@ -1354,15 +1359,17 @@ process_global_sql_commands(PGconn *conn, const char *dumpdirpath, const char *o
|
||||
break;
|
||||
default:
|
||||
n_errors++;
|
||||
pg_log_error("could not execute query: \"%s\" \nCommand was: \"%s\"", PQerrorMessage(conn), sqlstatement.data);
|
||||
pg_log_error("could not execute query: %s", PQerrorMessage(conn));
|
||||
pg_log_error_detail("Command was: %s", sqlstatement.data);
|
||||
}
|
||||
PQclear(result);
|
||||
}
|
||||
|
||||
/* Print a summary of ignored errors during global.dat. */
|
||||
if (n_errors)
|
||||
pg_log_warning("ignored %d errors in \"%s\"", n_errors, global_file_path);
|
||||
|
||||
pg_log_warning(ngettext("ignored %d error in file \"%s\"",
|
||||
"ignored %d errors in file \"%s\"", n_errors),
|
||||
n_errors, global_file_path);
|
||||
fclose(pfile);
|
||||
|
||||
return n_errors;
|
||||
|
@ -261,6 +261,6 @@ command_fails_like(
|
||||
|
||||
command_fails_like(
|
||||
[ 'pg_dumpall', '--format', 'x' ],
|
||||
qr/\Qpg_dumpall: error: unrecognized archive format "x";\E/,
|
||||
'pg_dumpall: unrecognized archive format');
|
||||
qr/\Qpg_dumpall: error: unrecognized output format "x";\E/,
|
||||
'pg_dumpall: unrecognized output format');
|
||||
done_testing();
|
||||
|
@ -365,7 +365,7 @@ $node->command_fails_like(
|
||||
"$tempdir/format_custom",
|
||||
'--format' => 'custom',
|
||||
'--file' => "$tempdir/error_test.sql", ],
|
||||
qr/\Qpg_restore: error: -C\/--create option should be specified when restoring an archive created by pg_dumpall\E/,
|
||||
qr/\Qpg_restore: error: option -C\/--create must be specified when restoring an archive created by pg_dumpall\E/,
|
||||
'When -C is not used in pg_restore with dump of pg_dumpall');
|
||||
|
||||
# test case 2: When --list option is used with dump of pg_dumpall
|
||||
|
@ -885,7 +885,7 @@ check_cluster_versions(void)
|
||||
*/
|
||||
if (GET_MAJOR_VERSION(old_cluster.major_version) >= 1800 &&
|
||||
user_opts.char_signedness != -1)
|
||||
pg_fatal("%s option cannot be used to upgrade from PostgreSQL %s and later.",
|
||||
pg_fatal("The option %s cannot be used for upgrades from PostgreSQL %s and later.",
|
||||
"--set-char-signedness", "18");
|
||||
|
||||
check_ok();
|
||||
@ -1934,7 +1934,7 @@ check_for_unicode_update(ClusterInfo *cluster)
|
||||
{
|
||||
fclose(report.file);
|
||||
report_status(PG_WARNING, "warning");
|
||||
pg_log(PG_WARNING, "Your installation contains relations that may be affected by a new version of Unicode.\n"
|
||||
pg_log(PG_WARNING, "Your installation contains relations that might be affected by a new version of Unicode.\n"
|
||||
"A list of potentially-affected relations is in the file:\n"
|
||||
" %s", report.path);
|
||||
}
|
||||
|
@ -290,19 +290,19 @@ prepare_for_swap(const char *old_tablespace, Oid db_oid,
|
||||
|
||||
/* Create directory for stuff that is moved aside. */
|
||||
if (pg_mkdir_p(moved_tblspc, pg_dir_create_mode) != 0 && errno != EEXIST)
|
||||
pg_fatal("could not create directory \"%s\"", moved_tblspc);
|
||||
pg_fatal("could not create directory \"%s\": %m", moved_tblspc);
|
||||
|
||||
/* Create directory for old catalog files. */
|
||||
if (pg_mkdir_p(old_catalog_dir, pg_dir_create_mode) != 0)
|
||||
pg_fatal("could not create directory \"%s\"", old_catalog_dir);
|
||||
pg_fatal("could not create directory \"%s\": %m", old_catalog_dir);
|
||||
|
||||
/* Move the new cluster's database directory aside. */
|
||||
if (rename(new_db_dir, moved_db_dir) != 0)
|
||||
pg_fatal("could not rename \"%s\" to \"%s\"", new_db_dir, moved_db_dir);
|
||||
pg_fatal("could not rename directory \"%s\" to \"%s\": %m", new_db_dir, moved_db_dir);
|
||||
|
||||
/* Move the old cluster's database directory into place. */
|
||||
if (rename(old_db_dir, new_db_dir) != 0)
|
||||
pg_fatal("could not rename \"%s\" to \"%s\"", old_db_dir, new_db_dir);
|
||||
pg_fatal("could not rename directory \"%s\" to \"%s\": %m", old_db_dir, new_db_dir);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -390,7 +390,7 @@ swap_catalog_files(FileNameMap *maps, int size, const char *old_catalog_dir,
|
||||
|
||||
snprintf(dest, sizeof(dest), "%s/%s", old_catalog_dir, de->d_name);
|
||||
if (rename(path, dest) != 0)
|
||||
pg_fatal("could not rename \"%s\" to \"%s\": %m", path, dest);
|
||||
pg_fatal("could not rename file \"%s\" to \"%s\": %m", path, dest);
|
||||
}
|
||||
if (errno)
|
||||
pg_fatal("could not read directory \"%s\": %m", new_db_dir);
|
||||
@ -417,7 +417,7 @@ swap_catalog_files(FileNameMap *maps, int size, const char *old_catalog_dir,
|
||||
|
||||
snprintf(dest, sizeof(dest), "%s/%s", new_db_dir, de->d_name);
|
||||
if (rename(path, dest) != 0)
|
||||
pg_fatal("could not rename \"%s\" to \"%s\": %m", path, dest);
|
||||
pg_fatal("could not rename file \"%s\" to \"%s\": %m", path, dest);
|
||||
|
||||
/*
|
||||
* We don't fsync() the database files in the file synchronization
|
||||
|
@ -65,7 +65,7 @@ command_checks_all(
|
||||
$mode
|
||||
],
|
||||
1,
|
||||
[qr/--set-char-signedness option cannot be used/],
|
||||
[qr/option --set-char-signedness cannot be used/],
|
||||
[],
|
||||
'--set-char-signedness option cannot be used for upgrading from v18 or later'
|
||||
);
|
||||
|
@ -192,8 +192,7 @@ start_conn(const ClusterInfo *cluster, UpgradeTaskSlot *slot)
|
||||
slot->conn = PQconnectStart(conn_opts.data);
|
||||
|
||||
if (!slot->conn)
|
||||
pg_fatal("failed to create connection with connection string: \"%s\"",
|
||||
conn_opts.data);
|
||||
pg_fatal("out of memory");
|
||||
|
||||
termPQExpBuffer(&conn_opts);
|
||||
}
|
||||
@ -402,7 +401,7 @@ wait_on_slots(UpgradeTaskSlot *slots, int numslots)
|
||||
* If we found socket(s) to wait on, wait.
|
||||
*/
|
||||
if (select_loop(maxFd, &input, &output) == -1)
|
||||
pg_fatal("select() failed: %m");
|
||||
pg_fatal("%s() failed: %m", "select");
|
||||
|
||||
/*
|
||||
* Mark which sockets appear to be ready.
|
||||
|
@ -1949,7 +1949,7 @@ exec_command_gexec(PsqlScanState scan_state, bool active_branch)
|
||||
{
|
||||
if (PQpipelineStatus(pset.db) != PQ_PIPELINE_OFF)
|
||||
{
|
||||
pg_log_error("\\gexec not allowed in pipeline mode");
|
||||
pg_log_error("\\%s not allowed in pipeline mode", "gexec");
|
||||
clean_extended_state();
|
||||
return PSQL_CMD_ERROR;
|
||||
}
|
||||
@ -1975,7 +1975,7 @@ exec_command_gset(PsqlScanState scan_state, bool active_branch)
|
||||
|
||||
if (PQpipelineStatus(pset.db) != PQ_PIPELINE_OFF)
|
||||
{
|
||||
pg_log_error("\\gset not allowed in pipeline mode");
|
||||
pg_log_error("\\%s not allowed in pipeline mode", "gset");
|
||||
clean_extended_state();
|
||||
return PSQL_CMD_ERROR;
|
||||
}
|
||||
@ -3287,7 +3287,7 @@ exec_command_watch(PsqlScanState scan_state, bool active_branch,
|
||||
|
||||
if (PQpipelineStatus(pset.db) != PQ_PIPELINE_OFF)
|
||||
{
|
||||
pg_log_error("\\watch not allowed in pipeline mode");
|
||||
pg_log_error("\\%s not allowed in pipeline mode", "watch");
|
||||
clean_extended_state();
|
||||
success = false;
|
||||
}
|
||||
|
@ -296,6 +296,7 @@ describeFunctions(const char *functypes, const char *func_pattern,
|
||||
char **arg_patterns, int num_arg_patterns,
|
||||
bool verbose, bool showSystem)
|
||||
{
|
||||
const char *df_options = "anptwSx+";
|
||||
bool showAggregate = strchr(functypes, 'a') != NULL;
|
||||
bool showNormal = strchr(functypes, 'n') != NULL;
|
||||
bool showProcedure = strchr(functypes, 'p') != NULL;
|
||||
@ -310,9 +311,9 @@ describeFunctions(const char *functypes, const char *func_pattern,
|
||||
/* No "Parallel" column before 9.6 */
|
||||
static const bool translate_columns_pre_96[] = {false, false, false, false, true, true, false, true, true, false, false, false, false};
|
||||
|
||||
if (strlen(functypes) != strspn(functypes, "anptwSx+"))
|
||||
if (strlen(functypes) != strspn(functypes, df_options))
|
||||
{
|
||||
pg_log_error("\\df only takes [anptwSx+] as options");
|
||||
pg_log_error("\\df only takes [%s] as options", df_options);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -252,7 +252,8 @@ slashUsage(unsigned short int pager)
|
||||
HELP0(" \\dO[Sx+] [PATTERN] list collations\n");
|
||||
HELP0(" \\dp[Sx] [PATTERN] list table, view, and sequence access privileges\n");
|
||||
HELP0(" \\dP[itnx+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n");
|
||||
HELP0(" \\drds[x] [ROLEPTRN [DBPTRN]] list per-database role settings\n");
|
||||
HELP0(" \\drds[x] [ROLEPTRN [DBPTRN]]\n"
|
||||
" list per-database role settings\n");
|
||||
HELP0(" \\drg[Sx] [PATTERN] list role grants\n");
|
||||
HELP0(" \\dRp[x+] [PATTERN] list replication publications\n");
|
||||
HELP0(" \\dRs[x+] [PATTERN] list replication subscriptions\n");
|
||||
@ -334,8 +335,7 @@ slashUsage(unsigned short int pager)
|
||||
HELP0(" \\endpipeline exit pipeline mode\n");
|
||||
HELP0(" \\flush flush output data to the server\n");
|
||||
HELP0(" \\flushrequest send request to the server to flush its output buffer\n");
|
||||
HELP0(" \\getresults [NUM_RES] read NUM_RES pending results. All pending results are\n"
|
||||
" read if no argument is provided\n");
|
||||
HELP0(" \\getresults [NUM_RES] read NUM_RES pending results, or all if no argument\n");
|
||||
HELP0(" \\parse STMT_NAME create a prepared statement\n");
|
||||
HELP0(" \\sendpipeline send an extended query to an ongoing pipeline\n");
|
||||
HELP0(" \\startpipeline enter pipeline mode\n");
|
||||
|
@ -204,7 +204,7 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
|
||||
if ((value == NULL) || (*value == '\0'))
|
||||
{
|
||||
if (name)
|
||||
pg_log_error("invalid input syntax for \"%s\"", name);
|
||||
pg_log_error("invalid input syntax for variable \"%s\"", name);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -215,14 +215,14 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
|
||||
if (dblval < min)
|
||||
{
|
||||
if (name)
|
||||
pg_log_error("invalid value \"%s\" for \"%s\": must be greater than %.2f",
|
||||
pg_log_error("invalid value \"%s\" for variable \"%s\": must be greater than %.2f",
|
||||
value, name, min);
|
||||
return false;
|
||||
}
|
||||
else if (dblval > max)
|
||||
{
|
||||
if (name)
|
||||
pg_log_error("invalid value \"%s\" for \"%s\": must be less than %.2f",
|
||||
pg_log_error("invalid value \"%s\" for variable \"%s\": must be less than %.2f",
|
||||
value, name, max);
|
||||
}
|
||||
*result = dblval;
|
||||
@ -238,13 +238,13 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
|
||||
(dblval == 0.0 || dblval >= HUGE_VAL || dblval <= -HUGE_VAL))
|
||||
{
|
||||
if (name)
|
||||
pg_log_error("\"%s\" is out of range for \"%s\"", value, name);
|
||||
pg_log_error("value \"%s\" is out of range for variable \"%s\"", value, name);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (name)
|
||||
pg_log_error("invalid value \"%s\" for \"%s\"", value, name);
|
||||
pg_log_error("invalid value \"%s\" for variable \"%s\"", value, name);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user