Re: Use %u to print user mapping's umid and userid

Поиск
Список
Период
Сортировка
От Etsuro Fujita
Тема Re: Use %u to print user mapping's umid and userid
Дата
Msg-id 481d5b6f-7017-5e33-7926-d9139284bd8e@lab.ntt.co.jp
обсуждение исходный текст
Ответ на Re: Use %u to print user mapping's umid and userid  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
Ответы Re: Use %u to print user mapping's umid and userid  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 2016/05/11 18:03, Ashutosh Bapat wrote:
> On Wed, May 11, 2016 at 1:34 PM, Etsuro Fujita
> <fujita.etsuro@lab.ntt.co.jp <mailto:fujita.etsuro@lab.ntt.co.jp>> wrote:

>     On 2016/05/11 16:49, Ashutosh Bapat wrote:
>
>         The patch is calculating user mapping when it's readily available
>         through RelOptInfo::fdw_private. That incurs a catalog lookup
>         unnecessarily. Instead, can we add new function makeOid, oidVal
>         on the
>         lines of makeInteger and intVal to store and retrieve an OID
>         resp. and
>         also corresponding print function? It might be helpful in future.

>     That might be an idea, but is the overhead in that re-calculation so
>     large?

> A call to GetForeignTable would incur a catalog lookup which means a
> catalog table/index scan if corresponding entry is not in the cache.
> This is followed by GetUserMapping() which is another catalog access.
> That's bound to be expensive than an makeOid(), oidVal() call.

Right, but such lookups have been incurred at the planning time (ie, 
build_simple_rel), and corresponding entries would be in the cache.  So, 
the overhead in that recalculation at the execution time would be not 
that large in practice.  No?

Best regards,
Etsuro Fujita





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

Предыдущее
От: Rajeev rastogi
Дата:
Сообщение: Re: Academic help for Postgres
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Vacuum Full by Scheme