Hackers,
This is the second patch for the nested transactions stuff. This one
removes the global variables used in Snapshots (QuerySnapshot,
SerializableSnapshot, SnapshotDirty, RecentXmin, RecentGlobalXmin and
ReferentialIntegritySnapshotOverride) and puts the whole bunch in a
single struct.
It also adds some accesor functions so that other functions can read and
modify what they need.
This patch is not as simple as the previous one but is not rocket
science either. Please review it, and apply if there are no objections.
As before, there is no change in functionality nor regression tests
failed.
Both patches can be applied separately, there's no dependence between
them.
BTW, I've been using CVSup (thanks to Joe Conway) because I've found it
very helpful. Because of this I think in the previous patch there was
some weird update of the $Header$ which should be innoffensive, and also
the "RCS file: " line points to something that's probably different from
CVS. I expect that it shouldn't cause any problem, but if there is just
tell me and I'll resubmit.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Right now the sectors on the hard disk run clockwise, but I heard a rumor that
you can squeeze 0.2% more throughput by running them counterclockwise.
It's worth the effort. Recommended." (Gerry Pourwelle)