Re: (PATCH) Adding CORRESPONDING (NULL error)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kerem Kat <keremkat(at)gmail(dot)com>
Cc: Erik Rijkers <er(at)xs4all(dot)nl>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: (PATCH) Adding CORRESPONDING (NULL error)
Date: 2011-10-27 20:20:55
Message-ID: 5162.1319746855@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> Kerem Kat <keremkat(at)gmail(dot)com> writes:
>> Union with NULL error persists without the corresponding patch. Here
>> is the output from postgres without the patch:

>> SELECT a FROM (SELECT 1 a) foo
>> UNION
>> SELECT a FROM (SELECT NULL a) foo2;

>> ERROR: failed to find conversion function from unknown to integer

> Yeah, this is a longstanding issue that is not simple to fix without
> introducing other unpleasantnesses. It is not something you should
> try to deal with at the same time as implementing CORRESPONDING.

BTW, just to clarify: although that case fails, the case Erik was
complaining of does work in unmodified Postgres:

regression=# select 1 a , 2 b
union all
select null a, 4 b ;
a | b
---+---
1 | 2
| 4
(2 rows)

and I agree with him that it should still work with CORRESPONDING.
Even though the behavior of unlabeled NULLs is less than perfect,
we definitely don't want to break cases that work now. I suspect
the failure means that you tried to postpone too much work to plan
time. You do have to match up the columns honestly at parse time
and do the necessary type coercions on them then.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kerem Kat 2011-10-27 20:34:21 Re: (PATCH) Adding CORRESPONDING (NULL error)
Previous Message Tom Lane 2011-10-27 19:55:57 Re: (PATCH) Adding CORRESPONDING (NULL error)