Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 9f91dfc

Browse files
committed
Bunch of small fixes. Version 2.0.1
1 parent be95e17 commit 9f91dfc

File tree

6 files changed

+72
-62
lines changed

6 files changed

+72
-62
lines changed

Makefile

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,31 @@ subdir=contrib/pg_probackup
4343
top_builddir=../..
4444
include $(top_builddir)/src/Makefile.global
4545
include $(top_srcdir)/contrib/contrib-global.mk
46+
ifeq ("$(top_srcdir)","../..")
47+
srchome="$(top_srcdir)/.."
48+
else
49+
srchome="$(top_srcdir)"
50+
endif
4651
# Those files are symlinked from the PostgreSQL sources.
47-
src/xlogreader.c: % : $(top_srcdir)/src/backend/access/transam/xlogreader.c
48-
rm -f $@ && $(LN_S) ../$< ./src/xlogreader.c
49-
src/datapagemap.c: % : $(top_srcdir)/src/bin/pg_rewind/datapagemap.c
50-
rm -f $@ && $(LN_S) ../$< ./src/datapagemap.c
51-
src/datapagemap.h: % : $(top_srcdir)/src/bin/pg_rewind/datapagemap.h
52-
rm -f $@ && $(LN_S) ../$< src/datapagemap.h
53-
src/logging.h: % : $(top_srcdir)/src/bin/pg_rewind/logging.h
54-
rm -f $@ && $(LN_S) ../$< ./src
55-
src/receivelog.c: % : $(top_srcdir)/src/bin/pg_basebackup/receivelog.c
56-
rm -f $@ && $(LN_S) ../$< ./src
57-
src/receivelog.h: % : $(top_srcdir)/src/bin/pg_basebackup/receivelog.h
58-
rm -f $@ && $(LN_S) ../$< ./src
59-
src/streamutil.c: % : $(top_srcdir)/src/bin/pg_basebackup/streamutil.c
60-
rm -f $@ && $(LN_S) ../$< ./src
61-
src/streamutil.h: % : $(top_srcdir)/src/bin/pg_basebackup/streamutil.h
62-
rm -f $@ && $(LN_S) ../$< ./src
52+
src/xlogreader.c: $(top_srcdir)/src/backend/access/transam/xlogreader.c
53+
rm -f $@ && $(LN_S) $(srchome)/src/backend/access/transam/xlogreader.c $@
54+
src/datapagemap.c: $(top_srcdir)/src/bin/pg_rewind/datapagemap.c
55+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_rewind/datapagemap.c $@
56+
src/datapagemap.h: $(top_srcdir)/src/bin/pg_rewind/datapagemap.h
57+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_rewind/datapagemap.h $@
58+
src/logging.h: $(top_srcdir)/src/bin/pg_rewind/logging.h
59+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_rewind/logging.h $@
60+
src/receivelog.c: $(top_srcdir)/src/bin/pg_basebackup/receivelog.c
61+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/receivelog.c $@
62+
src/receivelog.h: $(top_srcdir)/src/bin/pg_basebackup/receivelog.h
63+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/receivelog.h $@
64+
src/streamutil.c: $(top_srcdir)/src/bin/pg_basebackup/streamutil.c
65+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/streamutil.c $@
66+
src/streamutil.h: $(top_srcdir)/src/bin/pg_basebackup/streamutil.h
67+
rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/streamutil.h $@
6368
endif
6469

65-
PG_CPPFLAGS = -I$(libpq_srcdir) ${PTHREAD_CFLAGS}
70+
PG_CPPFLAGS = -I$(libpq_srcdir) ${PTHREAD_CFLAGS} -Isrc
6671
override CPPFLAGS := -DFRONTEND $(CPPFLAGS) $(PG_CPPFLAGS)
6772
PG_LIBS = $(libpq_pgport) ${PTHREAD_CFLAGS}
6873

src/backup.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ do_backup_database(parray *backup_list)
256256

257257
if (ptrack_lsn > prev_backup->stop_lsn)
258258
{
259-
elog(ERROR, "LSN from ptrack_control %lx differs from LSN of previous ptrack backup %lx.\n"
259+
elog(ERROR, "LSN from ptrack_control %lx differs from LSN of previous backup %lx.\n"
260260
"Create new full backup before an incremental one.",
261261
ptrack_lsn, prev_backup->start_lsn);
262262
}
@@ -436,6 +436,9 @@ do_backup(void)
436436
if (!current.stream && !pg_archive_enabled())
437437
elog(ERROR, "Archiving must be enabled for archive backup");
438438

439+
if (current.backup_mode == BACKUP_MODE_DIFF_PAGE && !pg_archive_enabled())
440+
elog(ERROR, "Archiving must be enabled for PAGE backup");
441+
439442
if (from_replica)
440443
{
441444
/* Check master connection options */

src/delete.c

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ do_delete(time_t backup_id)
2828
XLogRecPtr oldest_lsn = InvalidXLogRecPtr;
2929
TimeLineID oldest_tli = 0;
3030

31-
/* DATE are always required */
32-
if (backup_id == 0)
33-
elog(ERROR, "required backup ID not specified");
34-
3531
/* Get exclusive lock of backup catalog */
3632
catalog_lock();
3733

@@ -40,55 +36,60 @@ do_delete(time_t backup_id)
4036
if (backup_list == NULL)
4137
elog(ERROR, "Failed to get backup list.");
4238

43-
delete_list = parray_new();
44-
45-
/* Find backup to be deleted and make increment backups array to be deleted */
46-
for (i = (int) parray_num(backup_list) - 1; i >= 0; i--)
39+
if (backup_id != 0)
4740
{
48-
pgBackup *backup = (pgBackup *) parray_get(backup_list, (size_t) i);
41+
delete_list = parray_new();
4942

50-
if (backup->start_time == backup_id)
43+
/* Find backup to be deleted and make increment backups array to be deleted */
44+
for (i = (int) parray_num(backup_list) - 1; i >= 0; i--)
5145
{
52-
parray_append(delete_list, backup);
53-
54-
/*
55-
* Do not remove next backups, if target backup was finished
56-
* incorrectly.
57-
*/
58-
if (backup->status == BACKUP_STATUS_ERROR)
59-
break;
46+
pgBackup *backup = (pgBackup *) parray_get(backup_list, (size_t) i);
6047

61-
/* Save backup id to retreive increment backups */
62-
parent_id = backup->start_time;
63-
backup_found = true;
64-
}
65-
else if (backup_found)
66-
{
67-
if (backup->backup_mode != BACKUP_MODE_FULL &&
68-
backup->parent_backup == parent_id)
48+
if (backup->start_time == backup_id)
6949
{
70-
/* Append to delete list increment backup */
7150
parray_append(delete_list, backup);
51+
52+
/*
53+
* Do not remove next backups, if target backup was finished
54+
* incorrectly.
55+
*/
56+
if (backup->status == BACKUP_STATUS_ERROR)
57+
break;
58+
7259
/* Save backup id to retreive increment backups */
7360
parent_id = backup->start_time;
61+
backup_found = true;
62+
}
63+
else if (backup_found)
64+
{
65+
if (backup->backup_mode != BACKUP_MODE_FULL &&
66+
backup->parent_backup == parent_id)
67+
{
68+
/* Append to delete list increment backup */
69+
parray_append(delete_list, backup);
70+
/* Save backup id to retreive increment backups */
71+
parent_id = backup->start_time;
72+
}
73+
else
74+
break;
7475
}
75-
else
76-
break;
7776
}
78-
}
7977

80-
if (parray_num(delete_list) == 0)
81-
elog(ERROR, "no backup found, cannot delete");
78+
if (parray_num(delete_list) == 0)
79+
elog(ERROR, "no backup found, cannot delete");
8280

83-
/* Delete backups from the end of list */
84-
for (i = (int) parray_num(delete_list) - 1; i >= 0; i--)
85-
{
86-
pgBackup *backup = (pgBackup *) parray_get(delete_list, (size_t) i);
81+
/* Delete backups from the end of list */
82+
for (i = (int) parray_num(delete_list) - 1; i >= 0; i--)
83+
{
84+
pgBackup *backup = (pgBackup *) parray_get(delete_list, (size_t) i);
8785

88-
if (interrupted)
89-
elog(ERROR, "interrupted during delete backup");
86+
if (interrupted)
87+
elog(ERROR, "interrupted during delete backup");
9088

91-
pgBackupDeleteFiles(backup);
89+
pgBackupDeleteFiles(backup);
90+
}
91+
92+
parray_free(delete_list);
9293
}
9394

9495
/* Clean WAL segments */
@@ -111,7 +112,6 @@ do_delete(time_t backup_id)
111112
}
112113

113114
/* cleanup */
114-
parray_free(delete_list);
115115
parray_walk(backup_list, pgBackupFree);
116116
parray_free(backup_list);
117117

src/help.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,9 @@ help_set_config(void)
302302

303303
printf(_("\n Replica options:\n"));
304304
printf(_(" --master-db=db_name database to connect to master\n"));
305-
printf(_(" --master-host=host_name=host_name database server host of master\n"));
305+
printf(_(" --master-host=host_name database server host of master\n"));
306306
printf(_(" --master-port=port=port database server port of master\n"));
307-
printf(_(" --master-user=user_name=user_name user name to connect to master\n"));
307+
printf(_(" --master-user=user_name user name to connect to master\n"));
308308
printf(_(" --replica-timeout=timeout wait timeout for WAL segment streaming through replication\n"));
309309
}
310310

src/pg_probackup.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include <sys/stat.h>
1818
#include <unistd.h>
1919

20-
const char *PROGRAM_VERSION = "2.0.0";
20+
const char *PROGRAM_VERSION = "2.0.1";
2121
const char *PROGRAM_URL = "https://github.com/postgrespro/pg_probackup";
2222
const char *PROGRAM_EMAIL = "https://github.com/postgrespro/pg_probackup/issues";
2323

@@ -401,6 +401,8 @@ main(int argc, char *argv[])
401401
case DELETE:
402402
if (delete_expired && backup_id_string_param)
403403
elog(ERROR, "You cannot specify --delete-expired and --backup-id options together");
404+
if (!delete_expired && !delete_wal && !backup_id_string_param)
405+
elog(ERROR, "You must specify at least one of the delete options: --expired |--wal |--backup_id");
404406
if (delete_expired)
405407
return do_retention_purge();
406408
else

tests/expected/option_version.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
pg_probackup 2.0.0
1+
pg_probackup 2.0.1

0 commit comments

Comments
 (0)