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