Commit d7e9ca7f authored by Magnus Hagander's avatar Magnus Hagander

Truncate filenames in the leadning end in pg_basebackup verbose output

When truncating at the end, like before, the output would often end up
just showing the path instead of the filename.

Also increase the length of the filename by 5, which still keeps us at
less than 80 characters in most outputs.
parent f3af5344
...@@ -422,6 +422,7 @@ progress_report(int tablespacenum, const char *filename) ...@@ -422,6 +422,7 @@ progress_report(int tablespacenum, const char *filename)
totaldone / 1024); totaldone / 1024);
snprintf(totalsize_str, sizeof(totalsize_str), INT64_FORMAT, totalsize); snprintf(totalsize_str, sizeof(totalsize_str), INT64_FORMAT, totalsize);
#define VERBOSE_FILENAME_LENGTH 35
if (verbose) if (verbose)
{ {
if (!filename) if (!filename)
...@@ -431,18 +432,29 @@ progress_report(int tablespacenum, const char *filename) ...@@ -431,18 +432,29 @@ progress_report(int tablespacenum, const char *filename)
* call) * call)
*/ */
fprintf(stderr, fprintf(stderr,
ngettext("%s/%s kB (100%%), %d/%d tablespace %35s", ngettext("%s/%s kB (100%%), %d/%d tablespace %*s",
"%s/%s kB (100%%), %d/%d tablespaces %35s", "%s/%s kB (100%%), %d/%d tablespaces %*s",
tablespacecount), tablespacecount),
totaldone_str, totalsize_str, totaldone_str, totalsize_str,
tablespacenum, tablespacecount, ""); tablespacenum, tablespacecount,
VERBOSE_FILENAME_LENGTH + 5, "");
else else
{
bool truncate = (strlen(filename) > VERBOSE_FILENAME_LENGTH);
fprintf(stderr, fprintf(stderr,
ngettext("%s/%s kB (%d%%), %d/%d tablespace (%-30.30s)", ngettext("%s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)",
"%s/%s kB (%d%%), %d/%d tablespaces (%-30.30s)", "%s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)",
tablespacecount), tablespacecount),
totaldone_str, totalsize_str, percent, totaldone_str, totalsize_str, percent,
tablespacenum, tablespacecount, filename); tablespacenum, tablespacecount,
/* Prefix with "..." if we do leading truncation */
truncate ? "..." : "",
truncate ? VERBOSE_FILENAME_LENGTH - 3 : VERBOSE_FILENAME_LENGTH,
truncate ? VERBOSE_FILENAME_LENGTH - 3 : VERBOSE_FILENAME_LENGTH,
/* Truncate filename at beginning if it's too long */
truncate ? filename + strlen(filename) - VERBOSE_FILENAME_LENGTH + 3 : filename);
}
} }
else else
fprintf(stderr, fprintf(stderr,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment