Re: BUG #5028: CASE returns ELSE value always when type is "char"
От | Kevin Grittner |
---|---|
Тема | Re: BUG #5028: CASE returns ELSE value always when type is "char" |
Дата | |
Msg-id | 4AA0F324020000250002AABE@gw.wicourts.gov обсуждение исходный текст |
Ответ на | Re: BUG #5028: CASE returns ELSE value always when type is "char" (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: BUG #5028: CASE returns ELSE value always when type is
"char"
Re: BUG #5028: CASE returns ELSE value always when type is "char" |
Список | pgsql-bugs |
Tom Lane <tgl@sss.pgh.pa.us> wrote: > I certainly don't want to have "char" emulate the misbegotten > decision to have explicit and implicit coercions behave differently. > So it looks to me like the argument to make "char" work like char(1) > doesn't actually help us much to decide if an error should be thrown > here or not. On the whole, throwing an error seems better from a > usability perspective. I feel that the behavior of "char" in at least this case should match char(1) (or just plain char): test=# select case when true then 'xxx' else 'a'::"char" end from t; case ------ x (1 row) test=# select case when true then 'xxx' else 'a'::char(1) end from t; case ------ xxx (1 row) test=# select case when true then 'xxx' else 'a'::char end from t; case ------ xxx (1 row) Much as the reason for the behavior of "char" may seem clear when inside the code looking out, it is astonishing for someone writing application code. -Kevin
В списке pgsql-bugs по дате отправления: