Passing fdw_private data from PlanForeignScan to PlanForeignModify
| От | Bernd Helmle |
|---|---|
| Тема | Passing fdw_private data from PlanForeignScan to PlanForeignModify |
| Дата | |
| Msg-id | 5B403C914B5ED69C995AB8C4@apophis.credativ.lan обсуждение исходный текст |
| Ответы |
Re: Passing fdw_private data from PlanForeignScan to PlanForeignModify
|
| Список | pgsql-hackers |
I'm currently implementing DML actions in the informix FDW module and trying to understand how UPDATE/DELETE actions interact with the various structures, especially how states between the associated ForeignScan and ForeignModify actions could be transmitted. As far as i understood, with e.g. an UPDATE action on a foreign table you get the following sequence of callbacks: GetForeignRelSize GetForeignPaths GetForeignPlan PlanForeignModify BeginForeignScan BeginForeignModify <repeats> IterateForeignScan ExecForeignUpdate </repeats> EndForeignScan EndForeignModify During the planning phase, the Informix FDW currently plans a server side cursor, which identifier i'd like to pass into the planning phase of the modify action to reuse it in conjunction with UPDATE ... WHERE CURRENT OF. I understand that the ModifyTable structure passed to PlanForeignModify has a list of associated plan nodes, from which i can access the ForeignScan plan node associated with the current modify action, thus having access to the fdw_private data generated during the planning phase of the ForeigScan node. However, it's a list and i currently don't understand on how to reference the associated ForeignScan node reliably, given that there are cases with more than one node in this list. Any pointers, someone? -- Thanks Bernd
В списке pgsql-hackers по дате отправления: