I wonder, is there a specific reason that MakeTupleTableSlot is wrapped up in MakeSingleTupleTableSlot without doing anything than just returning the slot created by MakeTupleTableSlot? Do we really need MakeSingleTupleTableSlot? Can't we just use MakeTupleTableSlot directly? Am I missing something?
I think we can avoid some unnecessary function call costs, for instance when called 1000 times inside table_slot_create from copyfrom.c or in some other places where MakeSingleTupleTableSlot is called in a loop.
If it's okay to remove MakeSingleTupleTableSlot and use MakeTupleTableSlot instead, we might have to change in a lot of places. If we don't want to change in those many files, we could rename MakeTupleTableSlot to MakeSingleTupleTableSlot and change it in only a few places.