mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-02-08 14:28:36 +02:00
Merge "show timeline" and "show" as a single command
It is just troublesome to have to type a subcommands for something that could be merged into a single table. The output could be made in a smarter way though...
This commit is contained in:
parent
ef44c4f347
commit
fd8bde8e10
@ -104,7 +104,6 @@ main(int argc, char *argv[])
|
||||
const char *cmd = NULL;
|
||||
const char *range1 = NULL;
|
||||
const char *range2 = NULL;
|
||||
bool show_timeline = false;
|
||||
pgBackupRange range;
|
||||
int i;
|
||||
|
||||
@ -121,9 +120,6 @@ main(int argc, char *argv[])
|
||||
{
|
||||
if (cmd == NULL)
|
||||
cmd = argv[i];
|
||||
else if (pg_strcasecmp(argv[i], "timeline") == 0 &&
|
||||
pg_strcasecmp(cmd, "show") == 0)
|
||||
show_timeline = true;
|
||||
else if (range1 == NULL)
|
||||
range1 = argv[i];
|
||||
else if (range2 == NULL)
|
||||
@ -207,7 +203,7 @@ main(int argc, char *argv[])
|
||||
target_inclusive, target_tli, is_hard_copy);
|
||||
}
|
||||
else if (pg_strcasecmp(cmd, "show") == 0)
|
||||
return do_show(&range, show_timeline, show_all);
|
||||
return do_show(&range, show_all);
|
||||
else if (pg_strcasecmp(cmd, "validate") == 0)
|
||||
return do_validate(&range);
|
||||
else if (pg_strcasecmp(cmd, "delete") == 0)
|
||||
@ -227,7 +223,6 @@ pgut_help(bool details)
|
||||
printf(_(" %s OPTION backup\n"), PROGRAM_NAME);
|
||||
printf(_(" %s OPTION restore\n"), PROGRAM_NAME);
|
||||
printf(_(" %s OPTION show [DATE]\n"), PROGRAM_NAME);
|
||||
printf(_(" %s OPTION show timeline [DATE]\n"), PROGRAM_NAME);
|
||||
printf(_(" %s OPTION validate [DATE]\n"), PROGRAM_NAME);
|
||||
printf(_(" %s OPTION delete DATE\n"), PROGRAM_NAME);
|
||||
|
||||
|
@ -247,7 +247,7 @@ extern int do_restore(const char *target_time,
|
||||
extern int do_init(void);
|
||||
|
||||
/* in show.c */
|
||||
extern int do_show(pgBackupRange *range, bool show_timeline, bool show_all);
|
||||
extern int do_show(pgBackupRange *range, bool show_all);
|
||||
|
||||
/* in delete.c */
|
||||
extern int do_delete(pgBackupRange *range, bool force);
|
||||
|
58
show.c
58
show.c
@ -10,7 +10,6 @@
|
||||
#include "pg_rman.h"
|
||||
|
||||
static void show_backup_list(FILE *out, parray *backup_list, bool show_all);
|
||||
static void show_timeline_backup_list(FILE *out, parray *backup_list, bool show_all);
|
||||
static void show_backup_detail(FILE *out, pgBackup *backup);
|
||||
|
||||
/*
|
||||
@ -19,7 +18,7 @@ static void show_backup_detail(FILE *out, pgBackup *backup);
|
||||
* backup indicated by id.
|
||||
*/
|
||||
int
|
||||
do_show(pgBackupRange *range, bool show_timeline, bool show_all)
|
||||
do_show(pgBackupRange *range, bool show_all)
|
||||
{
|
||||
if (pgBackupRangeIsSingle(range))
|
||||
{
|
||||
@ -49,10 +48,7 @@ do_show(pgBackupRange *range, bool show_timeline, bool show_all)
|
||||
elog(ERROR_SYSTEM, _("can't process any more."));
|
||||
}
|
||||
|
||||
if (!show_timeline)
|
||||
show_backup_list(stdout, backup_list, show_all);
|
||||
else
|
||||
show_timeline_backup_list(stdout, backup_list, show_all);
|
||||
show_backup_list(stdout, backup_list, show_all);
|
||||
|
||||
/* cleanup */
|
||||
parray_walk(backup_list, pgBackupFree);
|
||||
@ -165,13 +161,15 @@ show_backup_list(FILE *out, parray *backup_list, bool show_all)
|
||||
int i;
|
||||
|
||||
/* show header */
|
||||
fputs("============================================================================\n", out);
|
||||
fputs("Start Time Total Data WAL Log Backup Status \n", out);
|
||||
fputs("============================================================================\n", out);
|
||||
fputs("===========================================================================================================\n", out);
|
||||
fputs("Start Mode Current TLI Parent TLI Time Total Data WAL Log Backup Status \n", out);
|
||||
fputs("===========================================================================================================\n", out);
|
||||
|
||||
for (i = 0; i < parray_num(backup_list); i++)
|
||||
{
|
||||
pgBackup *backup;
|
||||
const char *modes[] = { "", "ARCH", "INCR", "FULL"};
|
||||
TimeLineID parent_tli;
|
||||
char timestamp[20];
|
||||
char duration[20] = "----";
|
||||
char total_data_bytes_str[10] = "----";
|
||||
@ -206,45 +204,13 @@ show_backup_list(FILE *out, parray *backup_list, bool show_all)
|
||||
pretty_size(backup->write_bytes, write_bytes_str,
|
||||
lengthof(write_bytes_str));
|
||||
|
||||
fprintf(out, "%-19s %5s %6s %6s %6s %6s %6s %s\n",
|
||||
timestamp, duration,
|
||||
total_data_bytes_str, read_data_bytes_str, read_arclog_bytes_str,
|
||||
read_srvlog_bytes_str, write_bytes_str, status2str(backup->status));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
show_timeline_backup_list(FILE *out, parray *backup_list, bool show_all)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* show header */
|
||||
fputs("============================================================\n", out);
|
||||
fputs("Start Mode Current TLI Parent TLI Status \n", out);
|
||||
fputs("============================================================\n", out);
|
||||
|
||||
for (i = 0; i < parray_num(backup_list); i++)
|
||||
{
|
||||
static const char *modes[] = { "", "ARCH", "INCR", "FULL"};
|
||||
|
||||
pgBackup *backup;
|
||||
char timestamp[20];
|
||||
TimeLineID parent_tli;
|
||||
|
||||
backup = parray_get(backup_list, i);
|
||||
|
||||
/* skip deleted backup and serverlog backup */
|
||||
if ((backup->status == BACKUP_STATUS_DELETED || !HAVE_ARCLOG(backup)) &&
|
||||
!show_all)
|
||||
continue;
|
||||
|
||||
time2iso(timestamp, lengthof(timestamp), backup->start_time);
|
||||
|
||||
/* Get parent timeline before printing */
|
||||
parent_tli = get_parent_tli(backup->tli);
|
||||
|
||||
fprintf(out, "%-19s %-4s %10d %10d %s\n",
|
||||
timestamp, modes[backup->backup_mode], backup->tli, parent_tli,
|
||||
status2str(backup->status));
|
||||
fprintf(out, "%-19s %-4s %10d %10d %5s %6s %6s %6s %6s %6s %s\n",
|
||||
timestamp, modes[backup->backup_mode], backup->tli, parent_tli, duration,
|
||||
total_data_bytes_str, read_data_bytes_str, read_arclog_bytes_str,
|
||||
read_srvlog_bytes_str, write_bytes_str, status2str(backup->status));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user