Re: Odd system-column handling in postgres_fdw join pushdown patch

Поиск
Список
Период
Сортировка
От Ashutosh Bapat
Тема Re: Odd system-column handling in postgres_fdw join pushdown patch
Дата
Msg-id CAFjFpRdOeGR6M98hnkhO7WeGpWHXGhxz1L+uQTq8yzgf2bPT=A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Odd system-column handling in postgres_fdw join pushdown patch  (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>)
Ответы Re: Odd system-column handling in postgres_fdw join pushdown patch  (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>)
Список pgsql-hackers


On Tue, Mar 22, 2016 at 5:05 PM, Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp> wrote:
On 2016/03/22 14:54, Ashutosh Bapat wrote:
On Tue, Mar 22, 2016 at 8:03 AM, Etsuro Fujita
<fujita.etsuro@lab.ntt.co.jp <mailto:fujita.etsuro@lab.ntt.co.jp>> wrote:
    OK, I'll modify the patch so that the join is pushed down even if
    any of xmins, xmaxs, cmins, and cmaxs are requested.  Do you think
    which one should set values for these as well as tableoids,
    postgres_fdw or core?

Earlier in this mail chain, I suggested that the core should take care
of storing the values for these columns. But instead, I think, core
should provide functions which can be used by FDWs, if they want, to
return values for those columns. Something like Datum
get_syscol_value(RelOptInfo/Relation, attno). The function will return
Datum 0 for most of the columns and table's OID for tableoid. My 0.02.

What I had in mind was (1) create_foreignscan_plan would create Lists from the ForeignScan's fdw_scan_tlist: (a) indexes/OID values of tableoids in fdw_scan_tlist, and (b) indexes of xids and cids in fdw_scan_tlist, and then (2) ForeignNext would set the OID values for the tableoid columns in the scan tuple, using the Lists (a), and appropriate values (0 or something) for the xid and cid columns in the scan tuple, using the List (b).

Looks Ok to me, although, that way an FDW looses an ability to use its own values for those columns, in case it wants to. For example, while using postgres_fdw for sharding, it might help saving xmax, xmin, cmax, cmin from the foreign server and use them while communicating with the foreign server.
 

Best regards,
Etsuro Fujita





--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Timeline following for logical slots
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: WIP: Upper planner pathification