]> granicus.if.org Git - postgresql/commitdiff
Add assertion in expand_vacuum_rel() for non-autovacuum path
authorMichael Paquier <michael@paquier.xyz>
Thu, 12 Jul 2018 04:50:17 +0000 (13:50 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 12 Jul 2018 04:50:17 +0000 (13:50 +0900)
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

index d90cb9a9022d0f967b3cdb3a5d95af9330e39099..e16d8ef212ae57432b5de502aadc0eda51ae52ff 100644 (file)
@@ -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