Hi, On 2016-10-03 12:29:18 -0400, Tom Lane wrote: > The patch seems pretty successful in terms of being noninvasive to > the code. I think the major objection to it would be that we no > longer have any direct compiler-verified connection between the > signatures of the called functions in hstore/plpython and what > hstore_plpython thinks they are. That is, if someone were to > modify hstore and change the signature of say hstoreCheckKeyLen, > this would not cause any compiler complaints in hstore_plpython, > just runtime problems.
> A slightly ugly way of alleviating that risk would be to put the > function typedefs right beside the externs in the originating > modules, eg in hstore.h > > extern size_t hstoreCheckKeyLen(size_t len); > +typedef size_t (*hstoreCheckKeyLen_t) (size_t len); We could instead add a AssertVariableIsOfType(), besides the library lookup maybe? > If we were to push forward with this idea, the remaining work > would be to fix the other two contrib transform modules similarly, > after which I would want to revert the changes in commit cac765820 > and later that suppressed linker errors for unresolved symbols in > contrib links. The possibility of getting back that error detection > is actually the main motivation for this IMO. That'd be rather neat. Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers