I wanted to do some portability testing on the recently-proposed plperl changes, so I tried to build against a 5.8.0 Perl that I had laying about. It blew up real good:
plperl.c: In function `plperl_trusted_init': plperl.c:1017: `PL_stashcache' undeclared (first use in this function) plperl.c:1017: (Each undeclared identifier is reported only once plperl.c:1017: for each function it appears in.) make: *** [plperl.o] Error 1 It's complaining about this: /* invalidate assorted caches */ ++PL_sub_generation; hv_clear(PL_stashcache); which was introduced by you in commit 1f474d299 (2010-05-13). Some digging suggests that PL_stashcache was added in Perl 5.8.1 circa 2003, although this is impressively underdocumented in any Perl changelog that I could find. So the question is, does anyone care? I wouldn't except that our documentation appears to claim that we work with Perl "5.8 or later". And the lack of field complaints suggests strongly that nobody else cares. So I'm inclined to think we just need to be more specific about the minimum Perl version --- but what exactly? Alternatively, can we make this work with 5.8.0? It looks like PL_stashcache is a macro, so we could make it compile with an "#ifdef PL_stashcache", but I'm pretty nervous about whether that would be breaking needed cleanup behavior. 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