As of CVS tip, there is no code in the system that uses SnapshotSelf.
I am wondering if we can get rid of it and thereby save one test in
the heavily used HeapTupleSatisfiesVisibility() macro.
There is one place in the foreign-key triggers that uses the underlying
HeapTupleSatisfiesItself() test directly. So it seems possible that we
might someday need SnapshotSelf again as the representation of the
appropriate snapshot test for a foreign-key check. But I suspect that
any future changes in the FK stuff will go in the direction of using
dirty reads instead. In any case we could always put back SnapshotSelf
if we needed it.
Comments?
regards, tom lane