Re: Segfault from PL/Perl Returning vstring

From: David E(dot) Wheeler <david(at)kineticode(dot)com>
To: Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Segfault from PL/Perl Returning vstring
Date: 2009-12-21 22:49:59
Message-ID: B80F05C3-F293-4FAF-A0A1-6199248AFB32@kineticode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Dec 21, 2009, at 2:34 PM, David E. Wheeler wrote:

> On Dec 21, 2009, at 2:13 PM, Tim Bunce wrote:
>
>> You're using 5.8.8. In 5.10.0 $^V was changed to be an object.
>>
>> I'm working in that area. I'll look into it.
>
> While you're at it, I have a new problem:
>
> CREATE OR REPLACE FUNCTION wtf(
> expression text
> ) RETURNS text LANGUAGE plperl AS $$
> return "{$_[0]}";
> $$;
>
> try=# select wtf('foo');
> wtf
> -----
> {
> (1 row)
>
> Note how I don't even get the closing "}". This does not happen with PL/PerlU. The denizens of #postgresql think that there's some sort of issue with Safe and Encode or Encode::Alias (the latter `require`s Encode in two if its methods). Can you replicate it? It's driving me absolutely batshit. I'm using Perl 5.10.2, Safe 2.20, and Encode 2.39.

Also, my encoding is en_US.UTF-8. I think it matter that it's UTF-8, to judge by the

if (GetDatabaseEncoding() == PG_UTF8)

Block in plperl.c.

Thanks,

David

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2009-12-22 02:19:09 Re: Small Bug in GetConflictingVirtualXIDs
Previous Message Tom Lane 2009-12-21 22:37:25 Re: Possible patch for better index name choosing