Initial refactoring of plperl.c - rebased [PATCH]
От | Tim Bunce |
---|---|
Тема | Initial refactoring of plperl.c - rebased [PATCH] |
Дата | |
Msg-id | 20091202150401.GA97781@timac.local обсуждение исходный текст |
Ответы |
Re: Initial refactoring of plperl.c - rebased [PATCH]
Re: Initial refactoring of plperl.c - rebased [PATCH] |
Список | pgsql-hackers |
I've attached an update of my previous refactoring of plperl.c. It's been rebased over the current (git) HEAD and has a few very minor additions. Background: I've started work on the enhancements to plperl I outlined on pg-general (in the "Wishlist of PL/Perl Enhancements for 8.5" thread). I have a working implementation of those changes, plus some performance enhancements, that I'm now re-working into a clean set of tested and polished patches. This patch is a first step that doesn't add any extra functionality. It refactors the internals to make adding the extra functionality easier (and more clearly visible). Changes in this patch: - 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. - Added a test for the effect of the utf8fix function. - 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 Additions since previous verion: - Replaced calls to SvPV(val, PL_na) with SvPV_nolen(val) - Simplifed plperl_safe_init() slightly - Removed trailing whitespace from new plc_*.pl files. I'd appreciate any feedback on the patch. Tim.
Вложения
В списке pgsql-hackers по дате отправления: