aboutsummaryrefslogtreecommitdiff
path: root/src/backend/postmaster/autovacuum.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/postmaster/autovacuum.c')
-rw-r--r--src/backend/postmaster/autovacuum.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 639bd716b1e..c4bc09ea810 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -3227,12 +3227,14 @@ AutoVacuumingActive(void)
/*
* Request one work item to the next autovacuum run processing our database.
+ * Return false if the request can't be recorded.
*/
-void
+bool
AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId,
BlockNumber blkno)
{
int i;
+ bool result = false;
LWLockAcquire(AutovacuumLock, LW_EXCLUSIVE);
@@ -3252,12 +3254,15 @@ AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId,
workitem->avw_database = MyDatabaseId;
workitem->avw_relation = relationId;
workitem->avw_blockNumber = blkno;
+ result = true;
/* done */
break;
}
LWLockRelease(AutovacuumLock);
+
+ return result;
}
/*