Re: length coerce for bpchar is broken since 7.0
От | Tatsuo Ishii |
---|---|
Тема | Re: length coerce for bpchar is broken since 7.0 |
Дата | |
Msg-id | 20001017133825T.t-ishii@sra.co.jp обсуждение исходный текст |
Ответ на | Re: length coerce for bpchar is broken since 7.0 (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: length coerce for bpchar is broken since 7.0
|
Список | pgsql-hackers |
> > Simply clipping multibyte strings by atttypmode might produce > > incorrect multibyte strings. Consider a case inserting 3 multibyte > > letters (each consisting of 2 bytes) into a char(5) column. > > It seems to me that this means that atttypmod or exprTypmod() isn't > correctly defined for MULTIBYTE char(n) values. We should define > typmod in such a way that they agree iff the string is correctly > clipped. This might be easier said than done, perhaps, but I don't > like the idea of having to apply length-coercion functions all the > time because we can't figure out whether they're needed or not. Before going further, may I ask you a question. Why in exprTypmod() is bpchar() treated differently from other data types such as varchar? switch (con->consttype) { case BPCHAROID: if (!con->constisnull) return VARSIZE(DatumGetPointer(con->constvalue)); break; default: break; } -- Tatsuo Ishii
В списке pgsql-hackers по дате отправления: