Re: extensible external toast tuple support

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: extensible external toast tuple support
Дата
Msg-id CA+TgmoaA-ccADNmzV6==h00=XXcbToBWUj5eWR5-vDkGX2ib3Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: extensible external toast tuple support  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: extensible external toast tuple support  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On Fri, Jun 28, 2013 at 9:23 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Thu, Jun 27, 2013 at 12:56 PM, Andres Freund <andres@2ndquadrant.com> wrote:
>> Please find attached the next version of the extensible toast
>> support. There basically are two changes:
>>
>> * handle indirect toast tuples properly in heap_tuple_fetch_attr
>>   and related places
>> * minor comment adjustments
>
> It looks to me like you need to pass true, rather than false, as the
> first argument to TrapMacro:
>
> +#define VARTAG_SIZE(tag) \
> +       ((tag) == VARTAG_INDIRECT ? sizeof(varatt_indirect) :           \
> +        (tag) == VARTAG_ONDISK ? sizeof(varatt_external) : \
> +        TrapMacro(false, "unknown vartag"))
>
> Still looking at the rest of this.

Why does toast_insert_or_update() need to go through all the
rigamarole in toast_datum_differs()?  I would have thought that it
could simply treat any external-indirect value as needing to be
detoasted and retoasted, since the destination is the disk anyhow.

Do you see external-indirect values getting used for anything other
than logical replication?  Is there code to do so anywhere?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: enable new error fields in plpgsql (9.4)
Следующее
От: David Fetter
Дата:
Сообщение: Re: Department of Redundancy Department: makeNode(FuncCall) division