Re: The "char" type versus non-ASCII characters
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Andrew Dunstan <andrew@dunslane.net>,
Chapman Flack <chap@anastigmatix.net>,
pgsql-hackers@lists.postgresql.org
Date: 2022-07-31T22:25:24Z
Lists: pgsql-hackers
Attachments
- change-char-type-io-format-2.patch (text/x-diff) patch
I wrote: > This came up again today [1], so here's a concrete proposal. > Let's use \ooo for high-bit-set chars, but keep backslash as just > backslash (so it's only semi-compatible with bytea). Hearing no howls of protest, here's a fleshed out, potentially-committable version. I added some regression test coverage for the modified code. (I also fixed an astonishingly obsolete comment about what the regular char type does.) I looked at the SGML docs too, but I don't think there is anything to change there. The docs say "single-byte internal type" and are silent about "char" beyond that. I think that's exactly where we want to be: any more detail would encourage people to use the type, which we don't really want. Possibly we could change the text to "single-byte internal type, meant to hold ASCII characters" but I'm not sure that's better. The next question is what to do with this. I propose to commit it into HEAD and v15 before next week's beta3 release. If we don't get a lot of pushback, we could consider back-patching further for the November releases; but I'm hesitant to shove something like this into stable branches with only a week's notice. regards, tom lane
Commits
-
Change type "char"'s I/O format for non-ASCII characters.
- ec62ce55a813 16.0 landed
- c034b629cc6f 15.0 landed