OSDN Git Service

Various small improvements and cleanups for PL/Perl.
authorAndrew Dunstan <andrew@dunslane.net>
Tue, 26 Jan 2010 23:11:56 +0000 (23:11 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Tue, 26 Jan 2010 23:11:56 +0000 (23:11 +0000)
commit1a7c2f9dea3682987a741f559ecf5e38b4ba5432
treee75895535794f2a1fcd56bf177a82e850d1f85a9
parentd879697cd291a31c635edf17c4b8c170ac40ffc1
Various small improvements and cleanups for PL/Perl.

- Allow (ineffective) use of 'require' in plperl
    If the required module is not already loaded then it dies.
    So "use strict;" now works in plperl.

- Pre-load the feature module if perl >= 5.10.
    So "use feature :5.10;" now works in plperl.

- Stored procedure subs are now given names.
    The names are not visible in ordinary use, but they make
    tools like Devel::NYTProf and Devel::Cover much more useful.

- Simplified and generalized the subroutine creation code.
    Now one code path for generating sub source code, not four.
    Can generate multiple 'use' statements with specific imports
    (which handles plperl.use_strict currently and can easily
    be extended to handle a plperl.use_feature=':5.12' in future).

- Disallows use of Safe version 2.20 which is broken for PL/Perl.
    http://rt.perl.org/rt3/Ticket/Display.html?id=72068

- Assorted minor optimizations by pre-growing data structures.

Patch from Tim Bunce, reviewed by Alex Hunsaker.
doc/src/sgml/plperl.sgml
src/pl/plperl/expected/plperl.out
src/pl/plperl/expected/plperl_plperlu.out
src/pl/plperl/plc_perlboot.pl
src/pl/plperl/plc_safe_bad.pl
src/pl/plperl/plc_safe_ok.pl
src/pl/plperl/plperl.c
src/pl/plperl/sql/plperl.sql
src/pl/plperl/sql/plperl_plperlu.sql