Re: Where are the detoast function called in select * from table_name case?

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Where are the detoast function called in select * from table_name case?
Дата
Msg-id CAFj8pRCONBsoZMv4sT=9cSq9=Vc0AQsMvLw6JuENhSsE7CboHg@mail.gmail.com
обсуждение исходный текст
Ответ на Where are the detoast function called in select * from table_name case?  (Rui Hai Jiang <ruihaijiang@msn.com>)
Список pgsql-hackers
Hi

Depends on usage, but often times the detoasting is called from DatumGet***** macros

The values are detoasted only when it is required

#define PG_GETARG_TEXT_PP(n)   DatumGetTextPP(PG_GETARG_DATUM(n))
#define DatumGetTextPP(X)              ((text *) PG_DETOAST_DATUM_PACKED(X))
#define PG_DETOAST_DATUM(datum)   >pg_detoast_datum((struct varlena *) DatumGetPointer(datum))

Regards

Pavel Stehule

2015-05-06 15:00 GMT+02:00 Rui Hai Jiang <ruihaijiang@msn.com>:
Hello,

I've been reading the PostgreSQL code for weeks to figure out how TOAST works.
I couldn't find where are the TOAST function called to detoast a tuple comes from a select query, for example, select * from table_name.
Does anyone know this? Can you give me some help? And any help would save me a lot of time.

Thanks,
Rui Hai



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: is possible to upgrade from 9.2 to 9.4 with pg_upgrade
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: is possible to upgrade from 9.2 to 9.4 with pg_upgrade