Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Alex Hunsaker <badalex(at)gmail(dot)com>
Subject: Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.
Date: 2011-02-07 01:02:05
Message-ID: 4D4F448D.5000902@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 02/06/2011 05:31 PM, Andrew Dunstan wrote:
> Force strings passed to and from plperl to be in UTF8 encoding.
>
> String are converted to UTF8 on the way into perl and to the
> database encoding on the way back. This avoids a number of
> observed anomalies, and ensures Perl a consistent view of the
> world.
>
> Some minor code cleanups are also accomplished.
>
> Alex Hunsaker, reviewed by Andy Colson.

This has broken the buildfarm :-(

perl ppport.h reports:

*** WARNING: Uses HeUTF8, which may not be portable below perl
5.11.0, even with 'ppport.h'

Experimentation on a CentOS machine suggests we can cure it with this:

#ifndef HeUTF8
#define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
SvUTF8(HeKEY_sv(he))
: \
(U32)HeKUTF8(he))
#endif

cheers

andrew

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Itagaki Takahiro 2011-02-07 01:47:57 pgsql: Fix error messages for FreeFile in COPY command.
Previous Message Bruce Momjian 2011-02-06 23:48:51 Re: pgsql: remove tags.

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2011-02-07 01:18:32 Re: ALTER TYPE 2: skip already-provable no-work rewrites
Previous Message David E. Wheeler 2011-02-07 00:56:19 Re: A different approach to extension NO USER DATA feature