postgresql/src/backend/storage
Heikki Linnakangas 3396000684 Rethink the way FSM truncation works. Instead of WAL-logging FSM
truncations in FSM code, call FreeSpaceMapTruncateRel from smgr_redo. To
make that cleaner from modularity point of view, move the WAL-logging one
level up to RelationTruncate, and move RelationTruncate and all the
related WAL-logging to new src/backend/catalog/storage.c file. Introduce
new RelationCreateStorage and RelationDropStorage functions that are used
instead of calling smgrcreate/smgrscheduleunlink directly. Move the
pending rel deletion stuff from smgrcreate/smgrscheduleunlink to the new
functions. This leaves smgr.c as a thin wrapper around md.c; all the
transactional stuff is now in storage.c.

This will make it easier to add new forks with similar truncation logic,
like the visibility map.
2008-11-19 10:34:52 +00:00
..
buffer Rethink the way FSM truncation works. Instead of WAL-logging FSM 2008-11-19 10:34:52 +00:00
file Optimize CleanupTempFiles by having a boolean flag that keeps track of whether 2008-09-19 04:57:10 +00:00
freespace Rethink the way FSM truncation works. Instead of WAL-logging FSM 2008-11-19 10:34:52 +00:00
ipc Remove the last vestiges of the MAKE_PTR/MAKE_OFFSET mechanism. We haven't 2008-11-02 21:24:52 +00:00
large_object Remove all uses of the deprecated functions heap_formtuple, heap_modifytuple, 2008-11-02 01:45:28 +00:00
lmgr Implement ALTER DATABASE SET TABLESPACE to move a whole database (or at least 2008-11-07 18:25:07 +00:00
page Clean up the messy semantics (not to mention inefficiency) of PageGetTempPage 2008-11-03 20:47:49 +00:00
smgr Rethink the way FSM truncation works. Instead of WAL-logging FSM 2008-11-19 10:34:52 +00:00
Makefile Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00