Re: [HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Kevin Grittner
Tom Lane wrote: > I don't want to put weasel wording into the comment. If you're > bothered by the discrepancy then we should fix the code to > initialize all the struct fields. Maybe for 9.1. At this point, unless it's breaking something I can't see that anything beyond a comment would be j

Re: [HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Tom Lane
"Kevin Grittner" writes: > 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

Re: [HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Kevin Grittner
Tom Lane 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 ---

Re: [HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Tom Lane
"Kevin Grittner" writes: > Tom Lane wrote: >> ItemPointerSetInvalid(&(tuple.t_self)); > Aren't those tuples pointing to a disk buffer? Oh, I should have looked at the code before commenting ;-). Yeah, the correct TID value would be ItemPointerGetBlockNumber(tid) plus the current offnum. Howe

Re: [HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Kevin Grittner
Tom Lane wrote: > "Kevin Grittner" 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

Re: [HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Tom Lane
"Kevin Grittner" 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

[HACKERS] HeapTupleData.t_self garbage values

2010-03-11 Thread Kevin Grittner
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 c