"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> According to htup.h:
> * t_self and t_tableOid should be valid if the HeapTupleData points
> * to a disk buffer, or if it represents a copy of a tuple on disk.
> * They should be explicitly set invalid in manufactured tuples.
> In the heap_hot_search_buffer function of heapam.c this is not true.
> I can't find a clear explanation of why that is. I'm assuming "it
> just doesn't matter" here, but at a minimum it seems worth a
> comment. It's not immediately obvious to me what the random garbage
> from the stack would be replaced with if we were to try to make the
> above comment true.
What that comment is recommending is
ItemPointerSetInvalid(&(tuple.t_self));
regards, tom lane