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

Re: Status of plperl inter-sp calling

From: Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>,"David E(dot) Wheeler" <david(at)kineticode(dot)com>,Andrew Dunstan <andrew(at)dunslane(dot)net>,Garick Hamlin <ghamlin(at)isc(dot)upenn(dot)edu>,Robert Haas <robertmhaas(at)gmail(dot)com>,"pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Status of plperl inter-sp calling
Date: 2010-01-07 10:47:44
Message-ID: 20100107104744.GZ2505@timac.local (view raw or flat)
Thread:
Lists: pgsql-hackers
On Wed, Jan 06, 2010 at 08:46:11PM -0500, Tom Lane wrote:
> Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com> writes:
> > On Wed, Jan 06, 2010 at 01:45:45PM -0800, David E. Wheeler wrote:
> >> On Jan 6, 2010, at 12:20 PM, Tom Lane wrote:
> >>> One of the things on my to-do list for today is to make configure reject
> >>> Perl versions less than $TBD.  I thought we had agreed a week or so back
> >>> that 5.8 was the lowest safe version because of utf8 and other
> >>> considerations.
> >> 
> >> +1, and 5.8.3 at a minimum for utf8 stuff, 5.8.8 much much better.
> 
> > I think we said 5.8.1 at the time, but 5.8.3 sounds good to me.
> > There would be _very_ few places using < 5.8.6.
> 
> I went with 5.8 as the cutoff, for a couple of reasons: we're not in
> the business of telling people they ought to be up-to-date, but only of
> rejecting versions that demonstrably fail badly;
 
I think 5.8.0 will fail badly, possibly demonstrably but more likely in 
subtle ways relating to utf8 that are hard to debug.

> and I found out that
> older versions of awk are not sufficiently competent with && and || to
> code a more complex test properly :-(.  A version check that doesn't
> actually do what it claims to is worse than useless, and old buggy awk
> is exactly what you'd expect to find on a box with old buggy perl.

Either of these approaches should work back to perl 5.0...

    perl -we 'use 5.008001' 2>/dev/null && echo ok
or
    perl -we 'exit($] < 5.008001)' && echo ok

> (It's also worth noting that the perl version seen at configure time
> is not necessarily that seen at runtime, anyway, so there's not a lot
> of point in getting too finicky here.)

A simple

    use 5.008001;

at the start of src/pl/plperl/plc_perlboot.pl would address that.
I believe Andrew is planing to commit my plperl refactor patch soon.
He could add it then, or I could add it to my feature patch (which I
plan to reissue soon, with very minor changes, and add to commitfest).

Tim.

In response to

pgsql-hackers by date

Next:From: Robert HaasDate: 2010-01-07 10:56:12
Subject: memory context debugging
Previous:From: Magnus HaganderDate: 2010-01-07 10:38:24
Subject: Github mirror

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