Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Yeah, the correct TID value would be
> ItemPointerGetBlockNumber(tid) plus the current offnum.
Thanks!
> However we don't have enough information in this function to set
> t_tableOid correctly, so maybe it would be best to just set both
> fields invalid. Or do nothing --- AFAICS none of the uses of the
> heapTuple look at those fields. Is it worth a few extra cycles to
> initialize unused fields of a short-lived heapTuple?
At a minimum, it might be good to qualify the comment in htup.h and
add a comment where there is an exception. This can be startling in
a debugger if you don't know that the comment isn't really true.
(And I've found another place where t_tableOid isn't set, but it is
apparently benign; that's without an exhaustive search.)
I could put forward a comment-only patch per the above if there are
no objections.
-Kevin