Modify snapshot definition so that lazy vacuums are ignored by other
Alvaro Herrera <alvherre@alvh.no-ip.org>
Modify snapshot definition so that lazy vacuums are ignored by other vacuums. This allows a OLTP-like system with big tables to continue regular vacuuming on small-but-frequently-updated tables while the big tables are being vacuumed. Original patch from Hannu Krossing, rewritten by Tom Lane and updated by me.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/twophase.c | modified | +2 −1 |
| src/backend/access/transam/xact.c | modified | +4 −1 |
| src/backend/access/transam/xlog.c | modified | +2 −2 |
| src/backend/catalog/index.c | modified | +3 −2 |
| src/backend/commands/vacuum.c | modified | +46 −4 |
| src/backend/storage/ipc/procarray.c | modified | +31 −12 |
| src/backend/storage/lmgr/proc.c | modified | +3 −1 |
| src/include/storage/procarray.h | modified | +2 −2 |
| src/include/storage/proc.h | modified | +6 −3 |