So the problem is there. But blaming it on char was wrong.
It should be blamed on the varchar change. Hey, I thought
the truncation was for varchar and not text? It was for both?
It would be semantically tricky to change the operator.
The precendence is to convert to text. Now with
the implicit update of the char(n) to text for the operator
"corrupts" the char() value.
elein
On Tue, Feb 17, 2004 at 06:40:49PM -0500, Tom Lane wrote:
> elein <elein@varlena.com> writes:
> > This is an example of the problem. It used to expand
> > the middle thing to 15.
>
> > elein=# select 'x' || ' '::char(15) || 'x';
> > ?column?
> > ----------
> > xx
> > (1 row)
>
> Still does, but then the spaces go away again when the value goes into
> the concatenation, because concatenation is a text operator.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org