character_not_in_repertoire vs. untranslatable_character
So there's an ISO error 22021 "character not in repertoire" and
a PostgreSQL error 22P05 "untranslatable character" that seem
very similar.
If I look in backend/utils/mb/wchar.c, it looks as if PostgreSQL
uses the first for the case of a corrupted encoding (bytes that
can't be decoded to a character at all), and the second for the
case of a valid character that isn't available in a conversion's
destination encoding.
Am I right about that? The names seem sort of confusable, and even
reading ISO 9075 drafts I haven't really found any additional detail
on what they wanted 22021 to mean, so I guess as long as I know what
it means in PG, that's as good as it gets. :)
-Chap
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Chapman Flack <chap@anastigmatix.net> writes:
So there's an ISO error 22021 "character not in repertoire" and
a PostgreSQL error 22P05 "untranslatable character" that seem
very similar.
If I look in backend/utils/mb/wchar.c, it looks as if PostgreSQL
uses the first for the case of a corrupted encoding (bytes that
can't be decoded to a character at all), and the second for the
case of a valid character that isn't available in a conversion's
destination encoding.
Yeah, that's the intended distinction I believe, though I would not
want to swear that we've been 100% consistent. 22021 means "this
character is bad in isolation", AFAICT, so it didn't seem appropriate
for the conversion scenario.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers