1515#include <unistd.h>
1616
1717static int pgBackupDeleteFiles (pgBackup * backup );
18- static void delete_walfiles (XLogRecPtr oldest_lsn ,TimeLineID oldest_tli ,
19- bool delete_all );
18+ static void delete_walfiles (XLogRecPtr oldest_lsn ,TimeLineID oldest_tli );
2019
2120int
2221do_delete (time_t backup_id )
@@ -108,7 +107,7 @@ do_delete(time_t backup_id)
108107}
109108}
110109
111- delete_walfiles (oldest_lsn ,oldest_tli , true );
110+ delete_walfiles (oldest_lsn ,oldest_tli );
112111}
113112
114113/* cleanup */
@@ -200,7 +199,7 @@ do_retention_purge(void)
200199}
201200
202201/* Purge WAL files */
203- delete_walfiles (oldest_lsn ,oldest_tli , true );
202+ delete_walfiles (oldest_lsn ,oldest_tli );
204203
205204/* Cleanup */
206205parray_walk (backup_list ,pgBackupFree );
@@ -280,13 +279,16 @@ pgBackupDeleteFiles(pgBackup *backup)
280279}
281280
282281/*
283- * Delete WAL segments up to oldest_lsn.
282+ * Deletes WAL segments up to oldest_lsn or all WAL segments (if all backups
283+ * was deleted and so oldest_lsn is invalid).
284284 *
285- * If oldest_lsn is invalid function exists. But if delete_all is true then
286- * WAL segements will be deleted anyway.
285+ * oldest_lsn - if valid, function deletes WAL segments, which contain lsn
286+ * older than oldest_lsn. If it is invalid function deletes all WAL segments.
287+ * oldest_tli - is used to construct oldest WAL segment in addition to
288+ * oldest_lsn.
287289 */
288290static void
289- delete_walfiles (XLogRecPtr oldest_lsn ,TimeLineID oldest_tli , bool delete_all )
291+ delete_walfiles (XLogRecPtr oldest_lsn ,TimeLineID oldest_tli )
290292{
291293XLogSegNo targetSegNo ;
292294char oldestSegmentNeeded [MAXFNAMELEN ];
@@ -297,9 +299,6 @@ delete_walfiles(XLogRecPtr oldest_lsn, TimeLineID oldest_tli, bool delete_all)
297299char min_wal_file [MAXPGPATH ];
298300int rc ;
299301
300- if (XLogRecPtrIsInvalid (oldest_lsn )&& !delete_all )
301- return ;
302-
303302max_wal_file [0 ]= '\0' ;
304303min_wal_file [0 ]= '\0' ;
305304