Miscellaneous changes to plperl [PATCH] - Mailing list pgsql-hackers

From Tim Bunce
Subject Miscellaneous changes to plperl [PATCH]
Date
Msg-id 20100114160716.GF8024@timac.local
Whole thread Raw
Responses Re: Miscellaneous changes to plperl [PATCH]  ("David E. Wheeler" <david@kineticode.com>)
Re: Miscellaneous changes to plperl [PATCH]  (Alex Hunsaker <badalex@gmail.com>)
List pgsql-hackers
This is the second of the patches to be split out from the former
'plperl feature patch 1'.

Changes in this patch:

- 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.

This patch will apply cleanly over the 'add functions' patch:
https://commitfest.postgresql.org/action/patch_view?id=264

Tim.

Attachment

pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: archive_timeout behavior for no activity
Next
From: Dimitri Fontaine
Date:
Subject: Re: Streaming replication, retrying from archive