aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/analyze.c4
-rw-r--r--src/backend/commands/vacuum.c16
2 files changed, 9 insertions, 11 deletions
diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c
index d432f8208dd..760d19142ec 100644
--- a/src/backend/commands/analyze.c
+++ b/src/backend/commands/analyze.c
@@ -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)
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index f439b55ea5e..cbd6e9b1616 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -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;
}