Minimum perl version supported - Mailing list pgsql-hackers

From Tim Bunce
Subject Minimum perl version supported
Date
Msg-id 20091221104531.GC15262@timac.local
Whole thread Raw
In response to Re: Patch: Remove all declarations from pg_attribute.h, consolidate BKI scripts  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Minimum perl version supported  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Sun, Dec 20, 2009 at 10:55:55PM -0500, Robert Haas wrote:
> On Sun, Dec 20, 2009 at 10:23 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Andres Freund <andres@anarazel.de> writes:
> >> On Monday 21 December 2009 02:23:39 Robert Haas wrote:
> >>> A more important point is whether we really need to make this
> >>> dependent on Perl 5.6 or later.
> >
> >> I dont see a platform without perl 5.6 where a new enough flex/bison is
> >> available...
> >
> > That argument only holds water if you are willing to follow the same
> > rules as we use for flex/bison, ie, they are not needed to build from
> > a source tarball.  Otherwise this *is* moving the goalposts on required
> > tool support.
> 
> I believe that we have long had agreement on making the relevant files
> distprep targets, so this will not be an issue.  Anyway, the whole
> thing is a silly argument anyway: we can certainly make this
> compatible back even as far as Perl 5.0 if need be for very little
> extra work.

FYI Perl 5.6.0 was released in March 2000. 5.6.2 in November 2003.

The general perception in the perl community is that 5.8.x is the oldest
perl that's widely used and that gets regular automated testing:   http://stats.cpantesters.org/pmatrix-wide.html
There's very little use of 5.6.x (typically 5.6.2).
There's almost no use of earlier versions.

> What is worth a little bit of effort to establish is exactly what
> version of Perl we're already depending on, so that we can document
> that for the benefit of future tool writers.  There's no reason why
> this particular thing needs to be compatible further back than what is
> already required otherwise.

I'd like to know the earliest version of perl that's supported for
PL/Perl, if that's ever been determined (I've not seen it in the docs).

plperl requires Safe v2.09, released in Oct 2003 and included in 5.8.1.
That version, and later versions, have only been tested back to perl 5.6.

I'd recommend Perl 5.6(.2) as a minimum for threads/multiplicity.
Perl 5.5 had complelely different, and unsafe, code for threads
and no concept of multiplicity.

I'd recommend Perl 5.8(.1) as a minimum for UTF-8 databases.
Perl 5.7 had a complelely different, and flawed, concept of
Unicode operation.

Tim.

p.s. I'll test PL/Perl with perl 5.6.2 (assuming I can still build it on
my system) as part of testing the PL/Perl patches I'm working on.


pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: Proposal: Pre ordered aggregates, default ORDER BY clause for aggregates - median support
Next
From: Tim Bunce
Date:
Subject: Re: Initial refactoring of plperl.c [PATCH]