Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM> writes:
> If I understand correctly then for read path (select) tuple is always
> HeapTuple, because we need support select xmax ... And DatumTuple is
> used for write path (insert/update) and it is "converted" to HeapTuple
> in heap_insert/heap_update function.
No, DatumTuple is used for any free-standing composite-type Datum.
Thinking about it as "write path" and "read path" seems to me to
be missing the mark entirely. In general most tuple-reading code
is supposed to work with either.
regards, tom lane