On Tue, Feb 9, 2016 at 7:56 AM, Geoff Winkless <pgsqlad...@geoff.dj> wrote:
> On 9 February 2016 at 14:53, Tom Lane <t...@sss.pgh.pa.us> wrote: > > SELECT COALESCE((SELECT 'Yes' FROM gwtest WHERE id=4), 'No') AS valid; > > > > There's no null visible anywhere in that. I suppose that if there's > > no row with id=4, there would be a null at runtime, > > Well yes, that was the whole point. > > > but that's not > > going to make any difference for parse-time determination of what > > type the COALESCE() will return. > > But when the gwtest subquery _does_ return a value it works, so the > problem can't be parse-time determination, can it? > > SELECT COALESCE((SELECT 'Yes' FROM (VALUES (1),(2),(3)) tst (id) WHERE id=2), 'No') AS valid; Same error...I tested using the table as well...also the same error for values of id between 1 and 3. 9.5.0 David J.