On 18 Říjen 2013, 17:52, Tom Lane wrote:
> "Tomas Vondra" <tv@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* instead, but that would only
> work conveniently if there were infrastructure for plugins to create new
> first-class Node types; which there isn't. A List is often the easiest
> way to transport a few random values from plan time to execution time,
> so it seemed best to declare fdw_private that way.
Oh, I see. Thanks for explanation.
Tomas