Re: Why do we expand tuples in execMain.c?

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Why do we expand tuples in execMain.c?
Дата
Msg-id 7D81FA76-38CC-4F07-BFBD-94C7FBB3E849@anarazel.de
обсуждение исходный текст
Ответ на Re: Why do we expand tuples in execMain.c?  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Ответы Re: Why do we expand tuples in execMain.c?
Список pgsql-hackers

On August 9, 2018 1:33:17 AM GMT+05:30, Andrew Dunstan <andrew.dunstan@2ndquadrant.com> wrote:
>
>
>On 08/08/2018 12:20 AM, Andres Freund wrote:
>> Hi,
>>
>> I noticed
>>                 if (HeapTupleHeaderGetNatts(tuple.t_data) <
>>                     RelationGetDescr(erm->relation)->natts)
>>                 {
>>                     copyTuple = heap_expand_tuple(&tuple,
>>                                                   RelationGetDescr(erm->relation));
>>                 }
>>                 else
>>                 {
>>                     /* successful, copy tuple */
>>                     copyTuple = heap_copytuple(&tuple);
>>                 }
>>
>> in EvalPlanQualFetchRowMarks, and I'm somewhat confused why it's
>there?
>> If it's required here, why isn't it required in dozens of other
>places?
>>
>>
>
>
>
>Not dozens, I think, since you can't have short records for catalog
>tables, which account for most of the calls to heap_copytuple().
>
>I will look at the remainder of cases (less than 10) and reply in a day
>
>or two.

But why is it needed at all, and the deforming code at the site where we access the columns isn't sufficient?

Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Asim R P
Дата:
Сообщение: Re: Shared buffer access rule violations?
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: buildfarm: could not read block 3 in file "base/16384/2662": readonly 0 of 8192 bytes