Re: [HACKERS] fdw_private and (List*) handling in FDW API
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* 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. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] fdw_private and (List*) handling in FDW API
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 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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers