At 02:37 PM 5/28/01 -0400, Tom Lane wrote:
>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?
I personally wouldn't expect "char" to behave exactly as "char(1)",
because I understand it to be a one-byte variable which holds a single
(not zero or one) character.
Mapping '' to ' ' doesn't make a lot of sense to me. It isn't what
I'd expect.
I think the behavior you describe in this note is better.
- Don Baccus, Portland OR <dhogaza@pacifier.com> Nature photos, on-line guides, Pacific Northwest Rare Bird Alert
Serviceand other goodies at http://donb.photo.net.