I wrote:
> I propose that both of these operations should return a space character
> for an empty input string. This is by analogy to space-padding as you'd
> get with char(1). Any objections?
An alternative approach is to make charin and text_char map empty
strings to the null character (\0), and conversely make charout and
char_text map the null character to empty strings. charout already
acts that way, in effect, since it has to produce a null-terminated
C string. This way would have the advantage that there would still
be a reversible dump and reload representation for a "char" field
containing '\0', whereas space-padding would cause such a field to
become ' ' after reload. But it's a little strange if you think that
"char" ought to behave the same as char(1).
Comments?
regards, tom lane