Re: Patch: add conversion from pg_wchar to multibyte

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tatsuo Ishii <ishii@postgresql.org>, pgsql-hackers@postgresql.org
Date: 2012-07-01T09:11:38Z
Lists: pgsql-hackers

Attachments

On Wed, Jun 27, 2012 at 11:35 PM, Robert Haas <robertmhaas@gmail.com> wrote:

> It looks to me like pg_wchar2utf_with_len will not work, because
> unicode_to_utf8 returns its second argument unmodified - not, as your
> code seems to assume, the byte following what was already written.
>

Fixed.


> MULE also looks problematic.  The code that you've written isn't
> symmetric with the opposite conversion, unlike what you did in all
> other cases, and I don't understand why.  I'm also somewhat baffled by
> the reverse conversion: it treats a multi-byte sequence beginning with
> a byte for which IS_LCPRV1(x) returns true as invalid if there are
> less than 3 bytes available, but it only reads two; similarly, for
> IS_LCPRV2(x), it demands 4 bytes but converts only 3.


Should we save existing pg_wchar representation for MULE encoding?
Probably, we can modify it like in 0.1 version of patch in order to make it
more transparent.

------
With best regards,
Alexander Korotkov.