Rearrange pg_subtrans handling as per recent discussion. pg_subtrans
Tom Lane <tgl@sss.pgh.pa.us>
Rearrange pg_subtrans handling as per recent discussion. pg_subtrans updates are no longer WAL-logged nor even fsync'd; we do not need to, since after a crash no old pg_subtrans data is needed again. We truncate pg_subtrans to RecentGlobalXmin at each checkpoint. slru.c's API is refactored a little bit to separate out the necessary decisions.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/clog.c | modified | +90 −54 |
| src/backend/access/transam/rmgr.c | modified | +3 −3 |
| src/backend/access/transam/slru.c | modified | +92 −206 |
| src/backend/access/transam/subtrans.c | modified | +88 −117 |
| src/backend/access/transam/xlog.c | modified | +9 −1 |
| src/backend/commands/vacuum.c | modified | +2 −3 |
| src/backend/storage/ipc/sinval.c | modified | +15 −2 |
| src/backend/storage/lmgr/lwlock.c | modified | +6 −7 |
| src/include/access/clog.h | modified | +8 −5 |
| src/include/access/rmgr.h | modified | +2 −2 |
| src/include/access/slru.h | modified | +67 −26 |
| src/include/access/subtrans.h | modified | +2 −9 |
| src/include/storage/lwlock.h | modified | +3 −1 |