Reject ANALYZE commands during VACUUM FULL or another ANALYZE.
Noah Misch <noah@leadboat.com>
Reject ANALYZE commands during VACUUM FULL or another ANALYZE. vacuum()'s static variable handling makes it non-reentrant; an ensuing null pointer deference crashed the backend. Back-patch to 9.0 (all supported versions).
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/vacuum.c | modified | +12 −2 |
| src/test/regress/expected/vacuum.out | modified | +13 −1 |
| src/test/regress/sql/vacuum.sql | modified | +8 −1 |