aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/xlog.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2022-10-24 12:02:33 +0200
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2022-10-24 12:02:33 +0200
commit8328a15f8f95cad3fa99bbab551cade0a8403708 (patch)
tree7531f49daae15113eb06ac8fe6c183edaf901db0 /src/backend/access/transam/xlog.c
parent2e0d80c5bb722fb49a4cdc44b0c715ec77c83f79 (diff)
downloadpostgresql-8328a15f8f95cad3fa99bbab551cade0a8403708.tar.gz
postgresql-8328a15f8f95cad3fa99bbab551cade0a8403708.zip
Fix recently added incorrect assertion
Commit df3737a651f4 added an incorrect assertion about the preconditions for invoking the backup cleanup callback: it misfires at session end in case a backup completes successfully. Fix it, using coding from Michaƫl Paquier. Also add some tests for the various cases. Reported by Kyotaro Horiguchi <horikyota.ntt@gmail.com> Discussion: https://postgr.es/m/20221021.161038.1277961198945653224.horikyota.ntt@gmail.com
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r--src/backend/access/transam/xlog.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index dea978a962a..8f10effe3a4 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -8841,9 +8841,8 @@ do_pg_abort_backup(int code, Datum arg)
{
bool during_backup_start = DatumGetBool(arg);
- /* Only one of these conditions can be true */
- Assert(during_backup_start ^
- (sessionBackupState == SESSION_BACKUP_RUNNING));
+ /* If called during backup start, there shouldn't be one already running */
+ Assert(!during_backup_start || sessionBackupState == SESSION_BACKUP_NONE);
if (during_backup_start || sessionBackupState != SESSION_BACKUP_NONE)
{