Thread: Can we remove SnapshotSelf?

Can we remove SnapshotSelf?

From
Tom Lane
Date:
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


Re: Can we remove SnapshotSelf?

From
Bruce Momjian
Date:
Tom Lane wrote:
> 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?

I think we should either remove it or mark it as NOT_USED.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073