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" 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.

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

2013-10-18 Thread Tom Lane
"Tomas Vondra" 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* instead, but tha

[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 t