Further work on connecting the free space map (which is still just a
Tom Lane <tgl@sss.pgh.pa.us>
Further work on connecting the free space map (which is still just a stub) into the rest of the system. Adopt a cleaner approach to preventing deadlock in concurrent heap_updates: allow RelationGetBufferForTuple to select any page of the rel, and put the onus on it to lock both buffers in a consistent order. Remove no-longer-needed isExtend hack from API of ReleaseAndReadBuffer.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/heapam.c | modified | +14 −20 |
| src/backend/access/heap/hio.c | modified | +154 −77 |
| src/backend/access/transam/xlogutils.c | modified | +3 −1 |
| src/backend/catalog/heap.c | modified | +8 −71 |
| src/backend/commands/sequence.c | modified | +8 −3 |
| src/backend/storage/buffer/bufmgr.c | modified | +30 −33 |
| src/backend/storage/freespace/freespace.c | modified | +34 −1 |
| src/backend/storage/smgr/smgr.c | modified | +15 −2 |
| src/backend/utils/cache/relcache.c | modified | +97 −15 |
| src/include/access/hio.h | modified | +2 −2 |
| src/include/storage/bufmgr.h | modified | +3 −3 |
| src/include/utils/relcache.h | modified | +11 −3 |