Hi hackers, > TupleTableSlot is a more abstract concept, being a container > for a tuple that can be present in several different forms. > It can contain a concrete tuple (HeapTupleData), or a "virtual" > tuple that is just an array of Datum+isnull values. The executor > usually uses tuple slots to return tuples out of plan nodes; > they're not very common elsewhere.
I came across another little piece of information about TupleTableSlots [1] and recalled this thread: """ To implement an access method, an implementer will typically need to implement an AM-specific type of tuple table slot (see src/include/executor/tuptable.h), which allows code outside the access method to hold references to tuples of the AM, and to access the columns of the tuple. """ Hopefully this is helpful. [1] https://www.postgresql.org/docs/current/tableam.html -- Best regards, Aleksander Alekseev