On Fri, Feb 12, 2021 at 9:37 PM Zhihong Yu <zyu@yugabyte.com> wrote:
> On Fri, Feb 12, 2021 at 5:44 AM Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:
>>
>> Hi,
>>
>> 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.
>>
>> Thoughts?
>
> MakeSingleTupleTableSlot can be defined as a macro, calling MakeTupleTableSlot().
Right, we could as well have an inline function. My point was that why
do we need to wrap MakeTupleTableSlot inside MakeSingleTupleTableSlot
which just does nothing. As I said upthread, how about renaming
MakeTupleTableSlot to
MakeSingleTupleTableSlot which requires minimal changes? Patch
attached. Both make check and make check-world passes on it. Please
have a look.
With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com