Bruce Momjian <pgman@candle.pha.pa.us> writes:
> It is not that hard to implement, just messy. When the index returns a
> heap row and the heap row is viewed for visibility, if _no_one_ can see
> the row, the index can be marked as expired. It could be a single bit
> in the index tuple, and doesn't need to be flushed to disk, though the
> index page has to be marked as dirty. However, we are going to need to
> flush a pre-change image to WAL so it may as well be handled as a normal
> index page change.
This did actually get done while you were on vacation. It does *not*
need a WAL entry, on the same principle that setting XMIN_COMMITTED,
XMAX_ABORTED, etc hint bits do not need WAL entries --- namely the
bits can always get set again if they are lost in a crash.
regards, tom lane