Skip site navigation (1) Skip section navigation (2)

pgsql: Tidy up and refactor plperl.c.

From: adunstan(at)postgresql(dot)org (Andrew Dunstan)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Tidy up and refactor plperl.c.
Date: 2010-01-09 02:40:50
Message-ID: 20100109024050.E92A87541B9@cvs.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committerspgsql-hackers
Log Message:
-----------
Tidy up and refactor plperl.c.

- Changed MULTIPLICITY check from runtime to compiletime.
    No loads the large Config module.
- Changed plperl_init_interp() to return new interp
    and not alter the global interp_state
- Moved plperl_safe_init() call into check_interp().
- Removed plperl_safe_init_done state variable
    as interp_state now covers that role.
- Changed plperl_create_sub() to take a plperl_proc_desc argument.
- Simplified return value handling in plperl_create_sub.
- Changed perl.com link in the docs to perl.org and tweaked
    wording to clarify that require, not use, is what's blocked.
- Moved perl code in large multi-line C string literal macros
    out to plc_*.pl files.
- Added a test2macro.pl utility to convert the plc_*.pl files to
    macros in a perlchunks.h file which is #included
- Simplifed plperl_safe_init() slightly
- Optimized pg_verifymbstr calls to avoid unneeded strlen()s.

Patch from Tim Bunce, with minor editing from me.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        plperl.sgml (r2.71 -> r2.72)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plperl.sgml?r1=2.71&r2=2.72)
    pgsql/src/pl/plperl:
        GNUmakefile (r1.37 -> r1.38)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/GNUmakefile?r1=1.37&r2=1.38)
        plperl.c (r1.158 -> r1.159)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c?r1=1.158&r2=1.159)
    pgsql/src/pl/plperl/sql:
        plperl.sql (r1.14 -> r1.15)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/sql/plperl.sql?r1=1.14&r2=1.15)

Added Files:
-----------
    pgsql/src/pl/plperl:
        plc_perlboot.pl (r1.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plc_perlboot.pl?rev=1.1&content-type=text/x-cvsweb-markup)
        plc_safe_bad.pl (r1.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plc_safe_bad.pl?rev=1.1&content-type=text/x-cvsweb-markup)
        plc_safe_ok.pl (r1.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plc_safe_ok.pl?rev=1.1&content-type=text/x-cvsweb-markup)
        text2macro.pl (r1.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/text2macro.pl?rev=1.1&content-type=text/x-cvsweb-markup)

Responses

pgsql-hackers by date

Next:From: Andrew DunstanDate: 2010-01-09 02:43:34
Subject: Re: Testing plperl<->plperlu interaction
Previous:From: Tom LaneDate: 2010-01-09 02:34:49
Subject: Re: Testing plperl<->plperlu interaction

pgsql-committers by date

Next:From: Tom LaneDate: 2010-01-09 03:25:11
Subject: Re: [COMMITTERS] pgsql: Tidy up and refactor plperl.c.
Previous:From: Michael MeskesDate: 2010-01-08 21:59:47
Subject: Re: [COMMITTERS] pgsql: Also update ChangerLog file.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group