postgres.git / summary / log / commit / refs
commit 6551f3daa2567ea9b2ded9b467aa9d876cc4e77f
Author: Michael Paquier <michael@paquier.xyz>
Date: Thu Jul 12 04:50:17 2018 +0000
First released in: 12.0
Add assertion in expand_vacuum_rel() for non-autovacuum path
The code path where the assertion is added helps to check that
autovacuum always includes a relation OID when doing a vacuum on it.
Extracted from a larger patch set to add support for SKIP LOCKED with
manual VACUUM commands.
Author: Nathan Bossart
Discussion: https://postgr.es/m/9EF7EBE4-720D-4CF1-9D0E-4403D7E92990@amazon.com
src/backend/commands/vacuum.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index d90cb9a9022..e16d8ef212a 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -443,6 +443,12 @@ expand_vacuum_rel(VacuumRelation *vrel)
Form_pg_class classForm;
bool include_parts;
+ /*
+ * Since autovacuum workers supply OIDs when calling vacuum(), no
+ * autovacuum worker should reach this code.
+ */
+ Assert(!IsAutoVacuumWorkerProcess());
+
/*
* We transiently take AccessShareLock to protect the syscache lookup
* below, as well as find_all_inheritors's expectation that the caller
[parent: 9a7b7adc130a]