Re: Odd behavior in foreign table modification (Was: Re: Optimization for updating foreign tables in Postgres FDW)
От | Etsuro Fujita |
---|---|
Тема | Re: Odd behavior in foreign table modification (Was: Re: Optimization for updating foreign tables in Postgres FDW) |
Дата | |
Msg-id | 56AA0B6A.8090801@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: Odd behavior in foreign table modification (Was: Re: Optimization for updating foreign tables in Postgres FDW) (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Odd behavior in foreign table modification (Was: Re:
Optimization for updating foreign tables in Postgres FDW)
|
Список | pgsql-hackers |
On 2016/01/28 12:58, Robert Haas wrote: > On Thu, Jan 21, 2016 at 4:05 AM, Etsuro Fujita > <fujita.etsuro@lab.ntt.co.jp> wrote: >>> By the way, I'm not too sure I understand the need for the core >>> changes that are part of this patch, and I think that point merits >>> some discussion. Whenever you change core like this, you're changing >>> the contract between the FDW and core; it's not just postgres_fdw that >>> needs updating, but every FDW. So we'd better be pretty sure we need >>> these changes and they are adequately justified before we think about >>> putting them into the tree. Are these core changes really needed >>> here, or can we fix this whole issue in postgres_fdw and leave the >>> core code alone? >> Well, if we think it is the FDW's responsibility to insert a valid value for >> tableoid in the returned slot during ExecForeignInsert, ExecForeignUpdate or >> ExecForeignDelete, we don't need those core changes. However, I think it >> would be better that that's done by ModifyTable in the same way as >> ForeignScan does in ForeignNext, IMO. That eliminates the need for >> postgres_fdw or any other FDW to do that business in the callback routines. > I'm not necessarily opposed to the core changes, but I want to > understand better what complexity they are avoiding. Can you send a > version of this patch that only touches postgres_fdw, so I can > compare? Attached is that version of the patch. I think that postgres_fdw might be able to insert a tableoid value in the returned slot in e.g., postgresExecForeignInsert if AFTER ROW Triggers or RETURNING expressions reference that value, but I didn't do anything about that. Best regards, Etsuro Fujita
Вложения
В списке pgsql-hackers по дате отправления: