Re: pl/perl and recent perl versions - failing to load internal modules

From: Alex Hunsaker <badalex(at)gmail(dot)com>
To: Toby Corkindale <toby(dot)corkindale(at)strategicdata(dot)com(dot)au>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: pl/perl and recent perl versions - failing to load internal modules
Date: 2014-07-02 02:05:21
Message-ID: CAFaPBrRHh4Ey64SNtwEMSrfGe91Zt=oUGLeJHAm-BqgVsQ3okw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Jul 1, 2014 at 7:31 PM, Alex Hunsaker <badalex(at)gmail(dot)com> wrote:
> On Tue, Jul 1, 2014 at 6:39 PM, Toby Corkindale
> <toby(dot)corkindale(at)strategicdata(dot)com(dot)au> wrote:
>> Hi Alex,

>> However the following code fails:
>> => do $$ "\N{U+263A}" =~ /[[:punct:]]/$$ language plperl;
>> ERROR: Unable to load utf8.pm into plperl at line 1.
>> BEGIN failed--compilation aborted.
>> CONTEXT: PL/Perl anonymous code block

> One thing you might try is plperl.on_plperl_init = "require
> 'utf8_heavy.pl'; require unicore/Heavy.pl'; or maybe just
> plperl.on_plperl_init = 'use Unicode::UCD;'

If you are up to recompiling postgres, you might try this patch. Its
untested, but the basic idea is to always allow require 'utf8.pm' to
work in plperl. Near as I can tell utf8.pm is a strange package, when
we look to see if we already have it loaded it, we can't find it for
example. Which would explain why plperl.on_init = ' use utf8;' does
not work for you. I don't have the time to dig through a bunch of perl
versions to find out whats going on with utf8.pm.

I suspect this will make it fail on loading a different module (my gut
says utf8 is going to want to load unicore stuff once its loaded) but
it would be interesting to see nonetheless.

Attachment Content-Type Size
plperl_use_utf8.patch text/x-patch 558 bytes

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Sim Zacks 2014-07-02 05:36:57 Re: Validating User Login Within Postgres
Previous Message Alex Hunsaker 2014-07-02 01:31:10 Re: pl/perl and recent perl versions - failing to load internal modules