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

Поиск
Список
Период
Сортировка
От Alex Hunsaker
Тема Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.
Дата
Msg-id AANLkTik2jYJ6SJ0zPUT_p8gmQ_RCjWxjvswSQ7ntrt=9@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.
Список pgsql-hackers
On Sun, Feb 6, 2011 at 18:02, Andrew Dunstan <andrew@dunslane.net> wrote:
>
>
>
>
>
> 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 :-(

Drat.

> 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

Yeah, that should work. BTW I would have loved to add some regression
tests for some of this (like the example hek2cstr states). Is there
any way to do that?


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: ALTER TYPE 2: skip already-provable no-work rewrites
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.