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

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: Why do we expand tuples in execMain.c?
Дата
Msg-id 9cda6809-290b-c747-14d2-3263bd4b407a@2ndQuadrant.com
обсуждение исходный текст
Ответ на Why do we expand tuples in execMain.c?  (Andres Freund <andres@anarazel.de>)
Ответы Re: Why do we expand tuples in execMain.c?
Список pgsql-hackers

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.

cheers

andrew


-- 

Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: memory leak when serializing TRUNCATE in reorderbuffer
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: [HACKERS] proposal: schema variables