Re: length coerce for bpchar is broken since 7.0 - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: length coerce for bpchar is broken since 7.0
Date
Msg-id 20010120130932K.t-ishii@sra.co.jp
Whole thread Raw
In response to Re: length coerce for bpchar is broken since 7.0  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
I believe this has been fixed.

>Subject: [COMMITTERS] pgsql/src/backend/utils/adt (varchar.c)
>From: ishii@postgresql.org
>To: pgsql-committers@postgresql.org
>Date: Sun, 26 Nov 2000 06:35:23 -0500 (EST)

> Can someone comment on the status of this?
> 
> > It seems the length coerce for bpchar is broken since 7.0.
> > In 6.5 when a string is inserted, bpchar() is called to properly clip
> > the string. However in 7.0 (and probably current) bpchar() is not
> > called anymore. 
> > 
> > coerce_type_typmod() calls exprTypmod(). exprTypmod() returns VARSIZE
> > of the bpchar data only if the data type is bpchar (if the data type
> > is varchar, exprTypmod just returns -1 and the parser add a function
> > node to call varchar(). so there is no problem for varchar). If
> > VARSIZE returned from exprTypmod() and atttypmod passed to
> > coerce_type_typmod() is equal, the function node to call bpchar()
> > would not be added.
> > 
> > I'm not sure if this was an intended efect of the change. Anyway we
> > have to do the length coerce for bpchar somewhere and I'm thinking now
> > is doing in bpcharin(). This would also solve the problem in copy in a
> > mail I have posted.
> > 
> > Comments?
> > --
> > Tatsuo Ishii
> > 
> 
> 
> -- 
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Rule/SELECT
Next
From: Tatsuo Ishii
Date:
Subject: C++ interface build on FreeBSD 4.2 broken?