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

From Tom Lane
Subject Re: length coerce for bpchar is broken since 7.0
Date
Msg-id 29430.971757806@sss.pgh.pa.us
Whole thread Raw
In response to Re: length coerce for bpchar is broken since 7.0  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Responses Re: length coerce for bpchar is broken since 7.0  (Tatsuo Ishii <t-ishii@sra.co.jp>)
List pgsql-hackers
Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> Before going further, may I ask you a question. Why in exprTypmod() is
> bpchar() treated differently from other data types such as varchar?

It's just hardwired knowledge about that particular datatype.  In the
light of your comments, it seems clear that the code here is wrong
for the MULTIBYTE case: instead of plain VARSIZE(), it should be
returning the number of multibyte characters + 4 (or whatever
atttypmod is defined to mean for MULTIBYTE bpchar).  I think I wrote
this code to start with, so you can blame me for the fact that it
neglects the MULTIBYTE case :-(
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: length coerce for bpchar is broken since 7.0
Next
From: Bruce Momjian
Date:
Subject: I am done going through my mailbox