]> granicus.if.org Git - postgresql/commit
Invent a memory context reset/delete callback mechanism.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Feb 2015 22:16:40 +0000 (17:16 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Feb 2015 22:16:43 +0000 (17:16 -0500)
commitf65e8270587f3e9b8224e20f7d020ed1f816dfe1
tree0a285e9914555d3d876dfa1c5a9eb56825c4acd7
parent654809e770ce270c0bb9de726c5df1ab193d60f0
Invent a memory context reset/delete callback mechanism.

This allows cleanup actions to be registered to be called just before a
particular memory context's contents are flushed (either by deletion or
MemoryContextReset).  The patch in itself has no use-cases for this, but
several likely reasons for wanting this exist.

In passing, per discussion, rearrange some boolean fields in struct
MemoryContextData so as to avoid wasted padding space.  For safety,
this requires making allowInCritSection's existence unconditional;
but I think that's a better approach than what was there anyway.
src/backend/utils/mmgr/mcxt.c
src/include/nodes/memnodes.h
src/include/utils/memutils.h