Re: Add on_plperl_init and on_plperlu_init to plperl UPDATE 3 [PATCH]

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tim Bunce <Tim.Bunce@pobox.com>
Cc: pgsql-hackers@postgresql.org
Date: 2010-02-08T01:25:33Z
Lists: pgsql-hackers
Tim Bunce wrote:
> This is the third update to the fourth of the patches to be split out
> from the former 'plperl feature patch 1'.
>
> Changes in this patch:
>
> - Added plperl.on_plperl_init and plperl.on_plperlu_init GUCs
>     Both are PGC_SUSET
>     SPI functions are not available when the code is run.
>     Errors are detected and reported as ereport(ERROR, ...)
>     Corresponding documentation and tests for both.
>
> - Renamed plperl.on_perl_init to plperl.on_init
>
> - Improved state management of select_perl_context()
>     An error during interpreter initialization will leave
>     the state (interp_state etc) unchanged.
>
> - The utf8fix code has been greatly simplified.
>
> - More code comments re PGC_SUSET and no access to SPI functions.
>
>   


The docs on this patch need some cleaning up and expanding:

    * The possible insecurity of %_SHARED needs expanding.
    * The docs still refer to plperl.on_untrusted_init
    * plperl.on_plperl_init and plperl.on_plperlu_init can be documented
      together rather than repeating the same stuff almost word for word.
    * extra examples for these two, and an explanation of why one might
      want to use each of the three on*init settings would be good.

I'll continue reviewing the patch, but these things at least need fixing.

cheers

andrew