there's no analyzable attributes or indexes. We also used to report 0 live
and dead tuples for such tables, which messed with autovacuum threshold
calculations.
This fixes bug #4812 reported by George Su. Backpatch back to 8.1.
}
/*
- * Quit if no analyzable columns
+ * Quit if no analyzable columns and no pg_class update needed.
*/
- if (attr_cnt <= 0 && !analyzableindex)
- {
- /*
- * We report that the table is empty; this is just so that the
- * autovacuum code doesn't go nuts trying to get stats about a
- * zero-column table.
- */
- if (update_reltuples)
- pgstat_report_analyze(onerel, 0, 0);
+ if (attr_cnt <= 0 && !analyzableindex && !update_reltuples)
goto cleanup;
- }
/*
* Determine how many rows we need to sample, using the worst case from