Re: [HACKERS] BUG #2683: spi_exec_query in plperl returns

From: David Fetter <david(at)fetter(dot)org>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org, Vitali Stupin <vitali(dot)stupin(at)ria(dot)ee>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: [HACKERS] BUG #2683: spi_exec_query in plperl returns
Date: 2006-10-15 22:16:31
Message-ID: 20061015221631.GB7037@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Sun, Oct 15, 2006 at 04:50:15PM -0500, Andrew Dunstan wrote:
> Tom Lane wrote:
> > I wrote:
> >> It looks to me like basically everywhere in plperl.c that does
> >> newSVpv() should follow it with
> >>
> >> #if PERL_BCDVERSION >= 0x5006000L
> >> if (GetDatabaseEncoding() == PG_UTF8)
> >> SvUTF8_on(sv);
> >> #endif
> >
> > Experimentation proved that this was insufficient to fix Vitali's
> > problem --- the string he's unhappy about is actually a hash key
> > entry, and there's no documented way to mark the second argument
> > of hv_store() as being a UTF-8 string. Some digging in the Perl
> > source code found that since at least Perl 5.8.0, hv_fetch and
> > hv_store recognize a negative key length as meaning a UTF-8 key
> > (ick!!), so I used that hack. I am not sure there is any
> > reasonable fix available in Perl 5.6.x.
> >
> > Attached patch applied to HEAD, but I'm not going to risk
> > back-patching it without some field testing.
>
> Hmm. That negative pointer hack is mighty ugly.
>
> I am also wondering, now that it's been raised, if we need to issue
> a "use utf8;" in the startup code, so that literals in the code get
> the right encoding.

That would be a reason to go to 5.8, as 'use utf8;' is tricky at best
in 5.6.

Cheers,
D
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message David Fetter 2006-10-15 22:50:00 Re: BUG #2683: spi_exec_query in plperl returns column names which are not marked as UTF8
Previous Message Tom Lane 2006-10-15 22:15:27 Re: [HACKERS] BUG #2683: spi_exec_query in plperl returns

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-10-15 22:19:12 Re: Threaded python on FreeBSD
Previous Message Tom Lane 2006-10-15 22:15:27 Re: [HACKERS] BUG #2683: spi_exec_query in plperl returns