[HACKERS] fdw_private and (List*) handling in FDW API

2013-10-18 Thread Tomas Vondra
Hi, I've been exploring the new FDW API in the past few days, and I'm slightly confused by the fdw_private fields. A few comments: 1) Generally all the API functions pass data using fields in the nodes (e.g. GetForeignRelSize uses baserel-fdw_private etc.), but PlanForeignModify simply returns

Re: [HACKERS] fdw_private and (List*) handling in FDW API

2013-10-18 Thread Tom Lane
Tomas Vondra t...@fuzzy.cz writes: 2) Is there any particular reason why PlanForeignModify/BeginForeignModify require the fdw_private to be a List*, and not a generic pointer? That data has to be copiable by copyObject(), which a generic void* is not. We could perhaps have made it Node*

Re: [HACKERS] fdw_private and (List*) handling in FDW API

2013-10-18 Thread Tomas Vondra
On 18 Říjen 2013, 17:52, Tom Lane wrote: Tomas Vondra t...@fuzzy.cz writes: 2) Is there any particular reason why PlanForeignModify/BeginForeignModify require the fdw_private to be a List*, and not a generic pointer? That data has to be copiable by copyObject(), which a generic void* is