Re: The "char" type versus non-ASCII characters

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Dunstan <andrew@dunslane.net>
Cc: Chapman Flack <chap@anastigmatix.net>, pgsql-hackers@lists.postgresql.org
Date: 2021-12-09T13:27:20Z
Lists: pgsql-hackers
On 03.12.21 21:13, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>> On 12/3/21 14:42, Tom Lane wrote:
>>> Right, I envisioned that ASCII behaves the same but we'd use
>>> a numeric representation for high-bit-set values.  These
>>> cases could be told apart fairly easily by charin(), since
>>> the numeric representation would always be three digits.
> 
>> OK, this seems the most attractive. Can we also allow 2 hex digits?
> 
> I think we should pick one base and stick to it.  I don't mind
> hex if you have a preference for that.

I think we could consider char to be a single-byte bytea and use the 
escape format of bytea for char.  That way there is some precedent and 
we don't add yet another encoding or escape format.



Commits

  1. Change type "char"'s I/O format for non-ASCII characters.