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
- wchar2mb-0.4.patch (application/octet-stream) patch
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.