On Fri, Sep 4, 2009 at 11:59 AM, Kevin Grittner<kevin.gritt...@wicourts.gov> wrote: > Tom Lane <t...@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
Yeah, I agree. That's really confusing. ...Robert -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs