Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> The ugly part of this is that clearing the bit is not like setting a
>> hint bit, ie it's not okay if we lose that change.  Therefore, each
>> bit-clearing would have to be WAL-logged.  This is a big part of my
>> concern about the cost.

> Yep, that was my concern too.  My feeling is that once you mark the
> tuple for expiration (update/delete), you then clear the index bit. 
> When reading WAL on recovery, you have to clear index bits on rows as
> you read expire information from WAL.  I don't think it would require
> extra WAL information.

Wrong.  The WAL recovery environment is not capable of executing
arbitrary user-defined functions, therefore it cannot compute index
entries on its own.  The *only* way we can do this is if the WAL record
stream tells exactly what to do and which physical tuple to do it to.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to