]> granicus.if.org Git - postgresql/commit
Fix comments that claimed that mblen() only looks at first byte.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 25 Jan 2019 12:54:38 +0000 (14:54 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 25 Jan 2019 12:54:38 +0000 (14:54 +0200)
commita5be6e9a1dfe820807f9ccb21dec5144982618e6
tree9f1fe7de8994889a2c0463210c7a33f879568a3e
parent7c079d7417a8f2d4bf5144732e2f85117db9214f
Fix comments that claimed that mblen() only looks at first byte.

GB18030's mblen() function looks at the first and the second byte of the
multibyte character, to determine its length. copy.c had made the
assumption that mblen() only looks at the first byte, but it turns out to
work out fine, because of the way the GB18030 encoding works. COPY will
see a 4-byte encoded character as two 2-byte encoded characters, which is
enough for COPY's purposes. It cannot mix those up with delimiter or
escaping characters, because only single-byte ASCII characters are
supported as delimiters or escape characters.

Discussion: https://www.postgresql.org/message-id/7704d099-9643-2a55-fb0e-becd64400dcb%40iki.fi
src/backend/commands/copy.c
src/backend/utils/mb/wchar.c