Skip to content

Commit 61475a8

Browse files
committed
Remove unnecessary do_deletewal() function
1 parent c8d5e03 commit 61475a8

File tree

3 files changed

+15
-46
lines changed

3 files changed

+15
-46
lines changed

catalog.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,9 +341,9 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli)
341341
pgBackup *backup = NULL;
342342

343343
/* backup_list is sorted in order of descending ID */
344-
for (i = 0; i < parray_num(backup_list); i++)
344+
for (i = (int) parray_num(backup_list) - 1; i >= 0; i--)
345345
{
346-
backup = (pgBackup *) parray_get(backup_list, i);
346+
backup = (pgBackup *) parray_get(backup_list, (size_t) i);
347347

348348
if (backup->status == BACKUP_STATUS_OK && backup->tli == tli)
349349
return backup;

delete.c

Lines changed: 13 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ do_delete(time_t backup_id)
2626
*delete_list;
2727
time_t parent_id = 0;
2828
bool backup_found = false;
29+
XLogRecPtr oldest_lsn = InvalidXLogRecPtr;
30+
TimeLineID oldest_tli = 0;
2931

3032
/* DATE are always required */
3133
if (backup_id == 0)
@@ -90,62 +92,30 @@ do_delete(time_t backup_id)
9092
pgBackupDeleteFiles(backup);
9193
}
9294

93-
/* cleanup */
94-
parray_free(delete_list);
95-
parray_walk(backup_list, pgBackupFree);
96-
parray_free(backup_list);
97-
95+
/* Clean WAL segments */
9896
if (delete_wal)
99-
do_deletewal(backup_id, false, false);
100-
101-
return 0;
102-
}
103-
104-
/*
105-
* Delete in archive WAL segments that are not needed anymore. The oldest
106-
* segment to be kept is the first segment that the oldest full backup
107-
* found around needs to keep.
108-
*/
109-
int
110-
do_deletewal(time_t backup_id, bool strict, bool need_catalog_lock)
111-
{
112-
size_t i;
113-
parray *backup_list;
114-
XLogRecPtr oldest_lsn = InvalidXLogRecPtr;
115-
TimeLineID oldest_tli;
116-
bool backup_found = false;
117-
118-
/* Get exclusive lock of backup catalog */
119-
if (need_catalog_lock)
120-
catalog_lock();
121-
122-
/* Find oldest LSN, used by backups */
123-
backup_list = catalog_get_backup_list(INVALID_BACKUP_ID);
124-
for (i = 0; i < parray_num(backup_list); i++)
12597
{
126-
pgBackup *last_backup = (pgBackup *) parray_get(backup_list, i);
127-
128-
if (last_backup->status == BACKUP_STATUS_OK)
98+
/* Find oldest LSN, used by backups */
99+
for (i = (int) parray_num(backup_list) - 1; i >= 0; i--)
129100
{
130-
oldest_lsn = last_backup->start_lsn;
131-
oldest_tli = last_backup->tli;
101+
pgBackup *backup = (pgBackup *) parray_get(backup_list, (size_t) i);
132102

133-
if (strict && backup_id != 0 && backup_id >= last_backup->start_time)
103+
if (backup->status == BACKUP_STATUS_OK)
134104
{
135-
backup_found = true;
105+
oldest_lsn = backup->start_lsn;
106+
oldest_tli = backup->tli;
136107
break;
137108
}
138109
}
139-
}
140110

141-
if (strict && backup_id != 0 && backup_found == false)
142-
elog(ERROR, "not found backup for deletwal command");
111+
delete_walfiles(oldest_lsn, oldest_tli, true);
112+
}
143113

114+
/* cleanup */
115+
parray_free(delete_list);
144116
parray_walk(backup_list, pgBackupFree);
145117
parray_free(backup_list);
146118

147-
delete_walfiles(oldest_lsn, oldest_tli, true);
148-
149119
return 0;
150120
}
151121

pg_probackup.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,6 @@ extern int do_show(time_t requested_backup_id);
287287

288288
/* in delete.c */
289289
extern int do_delete(time_t backup_id);
290-
extern int do_deletewal(time_t backup_id, bool strict, bool need_catalog_lock);
291290
extern int do_retention_purge(void);
292291

293292
/* in fetch.c */

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy