More infrastructure for btree compaction project. Tree-traversal code
Tom Lane <tgl@sss.pgh.pa.us>
More infrastructure for btree compaction project. Tree-traversal code now knows what to do upon hitting a dead page (in theory anyway, it's untested...). Add a post-VACUUM-cleanup entry point for index AMs, to provide a place for dead-page scavenging to happen. Also, fix oversight that broke btpo_prev links in temporary indexes. initdb forced due to additions in pg_am.
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/catalogs.sgml | modified | +8 −1 |
| src/backend/access/gist/gist.c | modified | +3 −2 |
| src/backend/access/hash/hash.c | modified | +3 −2 |
| src/backend/access/index/indexam.c | modified | +33 −1 |
| src/backend/access/nbtree/nbtinsert.c | modified | +97 −64 |
| src/backend/access/nbtree/nbtpage.c | modified | +157 −107 |
| src/backend/access/nbtree/nbtree.c | modified | +103 −35 |
| src/backend/access/nbtree/nbtsearch.c | modified | +175 −45 |
| src/backend/access/nbtree/nbtsort.c | modified | +6 −6 |
| src/backend/access/rtree/rtree.c | modified | +3 −2 |
| src/backend/commands/vacuum.c | modified | +24 −8 |
| src/backend/commands/vacuumlazy.c | modified | +39 −39 |
| src/include/access/genam.h | modified | +21 −3 |
| src/include/access/nbtree.h | modified | +11 −9 |
| src/include/access/xlog.h | modified | +8 −7 |
| src/include/catalog/catversion.h | modified | +2 −2 |
| src/include/catalog/pg_am.h | modified | +9 −7 |
| src/include/catalog/pg_proc.h | modified | +3 −1 |