In common cases of snapshot use we run GetSnapshotData() into a
statically allocated snapshot, then immediately copy the static struct
into a dynamically allocated copy.
The static allocation was designed to remove the overhead of dynamic
allocation, but then we do it anyway.
The snapmgr code does this explicitly, but the reason isn't
documented, it just says we must do this.
Any one say why?
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services