Re: BUG #4085: No implicit cast after coalesce - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #4085: No implicit cast after coalesce
Date
Msg-id 18140.1207178156@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #4085: No implicit cast after coalesce  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: BUG #4085: No implicit cast after coalesce
List pgsql-bugs
Peter Eisentraut <peter_e@gmx.net> writes:
> Jeff Dwyer wrote:
>> This seems like a bug to me. Why should an explicit cast be necessary after
>> a coalesce?

> Because coalesce(null, '1900-1-2') has no other type information attached, so
> it would have picked text by default as result type, and that then clashes
> with the result type of coalesce(null,current_date), which can be derived to
> be date.  This is a robustness improvement: 8.2 and earlier would silently
> accept coalesce(null, 'abc') and apply text-semantics comparison.

Yes.  The query "worked" in pre-8.3 only for rather small values of
"work": if you had been using a non-ISO datestyle the comparisons would
in fact have come out wrong.  Also, it being a textual rather than date
comparison, any index on the date column being compared to wouldn't have
been used.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: BUG #4085: No implicit cast after coalesce
Next
From: Pavel Golub
Date:
Subject: Re: BUG #4079: libpq.dll very slow (unusable)