]> granicus.if.org Git - postgresql/commitdiff
Improve comments in vacuum_rel() and analyze_rel().
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Oct 2017 14:47:47 +0000 (10:47 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Oct 2017 14:47:47 +0000 (10:47 -0400)
Remove obsolete references to get_rel_oids().  Avoid listing specific
relkinds in the comments, since we seem unable to keep such things
in sync with the code, and it's not all that helpful anyhow.

Noted by Michael Paquier, though I rewrote the comments a bit more.

Discussion: https://postgr.es/m/CAB7nPqTWiN9zwKTaOrsnKiGDChqRt7C1+CiiDk4N4OMn92rs6A@mail.gmail.com

src/backend/commands/analyze.c
src/backend/commands/vacuum.c

index d432f8208dde66435cffc4cc9a106d44b096294b..760d19142ec5dd79993b72eb97bcc004a47b6b67 100644 (file)
@@ -207,9 +207,7 @@ analyze_rel(Oid relid, RangeVar *relation, int options,
        }
 
        /*
-        * Check that it's a plain table, materialized view, or foreign table; we
-        * used to do this in get_rel_oids() but seems safer to check after we've
-        * locked the relation.
+        * Check that it's of an analyzable relkind, and set up appropriately.
         */
        if (onerel->rd_rel->relkind == RELKIND_RELATION ||
                onerel->rd_rel->relkind == RELKIND_MATVIEW)
index f439b55ea5e23b81a01580b2f778fc726b7f0aec..cbd6e9b161698da67ea5808c85c470b7a600ea63 100644 (file)
@@ -1309,6 +1309,9 @@ vac_truncate_clog(TransactionId frozenXID,
  *             do not use it once we've successfully opened the rel, since it might
  *             be stale.
  *
+ *             Returns true if it's okay to proceed with a requested ANALYZE
+ *             operation on this table.
+ *
  *             Doing one heap at a time incurs extra overhead, since we need to
  *             check that the heap exists again just before we vacuum it.  The
  *             reason that we do this is so that vacuuming can be spread across
@@ -1444,9 +1447,7 @@ vacuum_rel(Oid relid, RangeVar *relation, int options, VacuumParams *params)
        }
 
        /*
-        * Check that it's a vacuumable relation; we used to do this in
-        * get_rel_oids() but seems safer to check after we've locked the
-        * relation.
+        * Check that it's of a vacuumable relkind.
         */
        if (onerel->rd_rel->relkind != RELKIND_RELATION &&
                onerel->rd_rel->relkind != RELKIND_MATVIEW &&
@@ -1478,17 +1479,16 @@ vacuum_rel(Oid relid, RangeVar *relation, int options, VacuumParams *params)
        }
 
        /*
-        * Ignore partitioned tables as there is no work to be done.  Since we
-        * release the lock here, it's possible that any partitions added from
-        * this point on will not get processed, but that seems harmless.
+        * Silently ignore partitioned tables as there is no work to be done.  The
+        * useful work is on their child partitions, which have been queued up for
+        * us separately.
         */
        if (onerel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
        {
                relation_close(onerel, lmode);
                PopActiveSnapshot();
                CommitTransactionCommand();
-
-               /* It's OK for other commands to look at this table */
+               /* It's OK to proceed with ANALYZE on this table */
                return true;
        }