Thread: BUG #5034: plperlu problem with gethostbyname

BUG #5034: plperlu problem with gethostbyname

From
"Diego de Lima"
Date:
The following bug has been logged online:

Bug reference:      5034
Logged by:          Diego de Lima
Email address:      diego_de_lima@hotmail.com
PostgreSQL version: 8.3.7
Operating system:   Linux Fedora 10
Description:        plperlu problem with gethostbyname
Details:

The gethostbyname Perl internal function doesn't work properly on 8.3.7,
returning "1" instead of the desired data array.

On Postgres 8.2.x it works perfectly.

Using Perl v5.10.0.

Using Fedora 10 default rpm packages, all updated last month via yum.

Re: BUG #5034: plperlu problem with gethostbyname

From
Robert Haas
Date:
On Thu, Sep 3, 2009 at 5:21 PM, Diego de Lima<diego_de_lima@hotmail.com> wr=
ote:
>
> The following bug has been logged online:
>
> Bug reference: =A0 =A0 =A05034
> Logged by: =A0 =A0 =A0 =A0 =A0Diego de Lima
> Email address: =A0 =A0 =A0diego_de_lima@hotmail.com
> PostgreSQL version: 8.3.7
> Operating system: =A0 Linux Fedora 10
> Description: =A0 =A0 =A0 =A0plperlu problem with gethostbyname
> Details:
>
> The gethostbyname Perl internal function doesn't work properly on 8.3.7,
> returning "1" instead of the desired data array.
>
> On Postgres 8.2.x it works perfectly.
>
> Using Perl v5.10.0.
>
> Using Fedora 10 default rpm packages, all updated last month via yum.

I can't reproduce this on a clean build of 8.3.7 or on a clean build
of CVS HEAD, both against perl 5.10.0, so I don't think this is a
PostgreSQL bug.  I'm guessing you have a bug in your code someplace.
Here's the test case I used.

create or replace function test() returns varchar as $$use
Data::Dumper; Dumper(gethostbyname("www.google.com"));$$ language
plperlu;

select test();

...Robert

Re: BUG #5034: plperlu problem with gethostbyname

From
Tom Lane
Date:
Robert Haas <robertmhaas@gmail.com> writes:
> On Thu, Sep 3, 2009 at 5:21 PM, Diego de Lima<diego_de_lima@hotmail.com> wrote:
>> Using Fedora 10 default rpm packages, all updated last month via yum.

> I can't reproduce this on a clean build of 8.3.7 or on a clean build
> of CVS HEAD, both against perl 5.10.0, so I don't think this is a
> PostgreSQL bug.  I'm guessing you have a bug in your code someplace.
> Here's the test case I used.

> create or replace function test() returns varchar as $$use
> Data::Dumper; Dumper(gethostbyname("www.google.com"));$$ language
> plperlu;

> select test();

Don't have Fedora 10 installed anymore, but the F-11 packages should
be equivalent, and on F-11 I get this:

            test
-----------------------------
 $VAR1 = 'www.l.google.com';
 $VAR2 = 'www.google.com';
 $VAR3 = 2;
 $VAR4 = 4;
 $VAR5 = 'J}';
 $VAR6 = 'J}c';
 $VAR7 = 'J}g';
 $VAR8 = 'J}h';
 $VAR9 = 'J}i';
 $VAR10 = 'J}j';

(1 row)

I don't know enough about either gethostbyname or Data::Dumper
to figure out if this is sane or not.

            regards, tom lane

Re: BUG #5034: plperlu problem with gethostbyname

From
Robert Haas
Date:
On Sep 5, 2009, at 6:52 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Robert Haas <robertmhaas@gmail.com> writes:
>> On Thu, Sep 3, 2009 at 5:21 PM, Diego de Lima<diego_de_lima@hotmail.com
>> > wrote:
>>> Using Fedora 10 default rpm packages, all updated last month via
>>> yum.
>
>> I can't reproduce this on a clean build of 8.3.7 or on a clean build
>> of CVS HEAD, both against perl 5.10.0, so I don't think this is a
>> PostgreSQL bug.  I'm guessing you have a bug in your code someplace.
>> Here's the test case I used.
>
>> create or replace function test() returns varchar as $$use
>> Data::Dumper; Dumper(gethostbyname("www.google.com"));$$ language
>> plperlu;
>
>> select test();
>
> Don't have Fedora 10 installed anymore, but the F-11 packages should
> be equivalent, and on F-11 I get this:
>
>            test
> -----------------------------
> $VAR1 = 'www.l.google.com';
> $VAR2 = 'www.google.com';
> $VAR3 = 2;
> $VAR4 = 4;
> $VAR5 = 'J}';
> $VAR6 = 'J}c';
> $VAR7 = 'J}g';
> $VAR8 = 'J}h';
> $VAR9 = 'J}i';
> $VAR10 = 'J}j';
>
> (1 row)
>
> I don't know enough about either gethostbyname or Data::Dumper
> to figure out if this is sane or not.

I think so.  It's certainly an array rather than just the scalar 1, as
the OP alleged we were producing.

...Robert