]> granicus.if.org Git - postgresql/commit
Tidy up and refactor plperl.c.
authorAndrew Dunstan <andrew@dunslane.net>
Sat, 9 Jan 2010 02:40:50 +0000 (02:40 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Sat, 9 Jan 2010 02:40:50 +0000 (02:40 +0000)
commita2b34b16bed5699aa3ba407d9a412df65f448323
tree64c75100cc76919946e78b40e1bb41d08deef710
parent369494e41fe408f103884032f477555ba134a0a8
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.
doc/src/sgml/plperl.sgml
src/pl/plperl/GNUmakefile
src/pl/plperl/plc_perlboot.pl [new file with mode: 0644]
src/pl/plperl/plc_safe_bad.pl [new file with mode: 0644]
src/pl/plperl/plc_safe_ok.pl [new file with mode: 0644]
src/pl/plperl/plperl.c
src/pl/plperl/sql/plperl.sql
src/pl/plperl/text2macro.pl [new file with mode: 0644]