From: | "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-bugs(at)postgresql(dot)org>,"Sam Mason" <sam(at)samason(dot)me(dot)uk> |
Subject: | Re: BUG #5028: CASE returns ELSE value always when type is"char" |
Date: | 2009-09-02 18:09:20 |
Message-ID: | 4A9E6E80020000250002A8E2@gw.wicourts.gov |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
>> What I'm most concerned about are the corner cases where strict
>> typing would give one non-error result and the inferred typing
>> results in an error or a different result from the strict typing.
>> I'm willing to argue that those are bugs, at least when the
>> strongly typed behavior is mandated by the SQL standard.
>
> Are there any such cases? Your interpretation of strict typing
> seems to be that everything is type-labeled to start with, which
> means that type inference doesn't actually have anything to do.
A simple, self-contained example derived from the OP:
test=# create table t (c "char");
CREATE TABLE
test=# insert into t values ('a');
INSERT 0 1
test=# select case when c = 'a' then 'Hey' else c end from t;
c
---
H
(1 row)
test=# select case when c = 'a' then 'Hey'::text else c end from t;
c
-----
Hey
(1 row)
-Kevin
From | Date | Subject | |
---|---|---|---|
Next Message | Sam Mason | 2009-09-02 18:18:53 | Re: BUG #5028: CASE returns ELSE value always when type is"char" |
Previous Message | Tom Lane | 2009-09-02 17:58:30 | Re: BUG #5028: CASE returns ELSE value always when type is"char" |