Wrong comment in tuptable.h

Started by Jeff Davisabout 5 years ago2 messages
#1Jeff Davis
pgsql@j-davis.com

/*
* Return a copy of heap tuple representing the contents of the slot.
The
* copy needs to be palloc'd in the current memory context. The slot
* itself is expected to remain unaffected. It is *not* expected to
have
* meaningful "system columns" in the copy. The copy is not be
"owned" by
* the slot i.e. the caller has to take responsibility to free memory
* consumed by the slot.
*/
HeapTuple (*copy_heap_tuple) (TupleTableSlot *slot);

But acquire_sample_rows() calls ExecCopySlotHeapTuple(), and then
subsequently sorts the rows by TID. Is acquire_sample_rows() doing
something it shouldn't, or is the comment mistaken?

Regards,
Jeff Davis

#2Andres Freund
andres@anarazel.de
In reply to: Jeff Davis (#1)
Re: Wrong comment in tuptable.h

Hi,

On 2020-12-26 18:00:49 -0800, Jeff Davis wrote:

/*
* Return a copy of heap tuple representing the contents of the slot.
The
* copy needs to be palloc'd in the current memory context. The slot
* itself is expected to remain unaffected. It is *not* expected to
have
* meaningful "system columns" in the copy. The copy is not be
"owned" by
* the slot i.e. the caller has to take responsibility to free memory
* consumed by the slot.
*/
HeapTuple (*copy_heap_tuple) (TupleTableSlot *slot);

But acquire_sample_rows() calls ExecCopySlotHeapTuple(), and then
subsequently sorts the rows by TID. Is acquire_sample_rows() doing
something it shouldn't, or is the comment mistaken?

I think the comment is too vague and thinking of system columns as
xmin/xmax/cmin/cmax.

Greetings,

Andres Freund