Re: (PATCH) Adding CORRESPONDING to Set Operations

From: Kerem Kat <keremkat(at)gmail(dot)com>
To: Erik Rijkers <er(at)xs4all(dot)nl>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: (PATCH) Adding CORRESPONDING to Set Operations
Date: 2011-10-25 17:49:14
Message-ID: CAJZSWkWk-FVTsO4TgX=Hvm28UQZturKHU8_-0jMFNO7S83Aesg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Oct 24, 2011 at 20:52, Erik Rijkers <er(at)xs4all(dot)nl> wrote:
> On Wed, October 19, 2011 15:01, Kerem Kat wrote:
>> Adding CORRESPONDING to Set Operations
>> Initial patch, filename: corresponding_clause_v2.patch
>
> I had a quick look at the behaviour of this patch.
>
> Btw, the examples in your email were typoed (one select is missing):
>
>> SELECT 1 a, 2 b, 3 c UNION CORRESPONDING 4 b, 5 d, 6 c, 7 f;
> should be:
>  SELECT 1 a, 2 b, 3 c UNION CORRESPONDING select 4 b, 5 d, 6 c, 7 f;
>
> and
>
>> SELECT 1 a, 2 b, 3 c UNION CORRESPONDING BY(b) 4 b, 5 d, 6 c, 7 f;
> should be:
>  SELECT 1 a, 2 b, 3 c UNION CORRESPONDING BY(b) select 4 b, 5 d, 6 c, 7 f;
>>

Yes you are correct, mea culpa.

>
>
>
> But there is also a small bug, I think: the order in the CORRESPONDING BY list should be followed,
> according to the standard (foundation, p. 408):
>
> "2) If <corresponding column list> is specified, then let SL be a <select list> of those <column
> name>s explicitly appearing in the <corresponding column list> in the order that these
> <column name>s appear in the <corresponding column list>. Every <column name> in the
> <corresponding column list> shall be a <column name> of both T1 and T2."
>
> That would make this wrong, I think:
>
> SELECT 1 a, 2 b, 3 c UNION CORRESPONDING BY(c,b) select 5 d, 6 c, 7 f, 4 b ;
>
>  b | c
> ---+---
>  2 | 3
>  4 | 6
> (2 rows)
>
> i.e., I think it should show columns in the order c, b (and not b, c); the order of the
> CORRESPONDING BY phrase.
>
> (but maybe I'm misreading the text of the standard; I find it often difficult to follow)
>

It wasn't a misread, I checked the draft, in my version same
explanation is at p.410.
I have corrected the ordering of the targetlists of subqueries. And
added 12 regression
tests for column list ordering. Can you confirm that the order has
changed for you?

>
> Thanks,
>
>
> Erik Rijkers
>
>

Regards,

Kerem KAT

Attachment Content-Type Size
corresponding_clause_v3.patch text/x-patch 39.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-10-25 17:57:43 Firing order of RI triggers
Previous Message Florian Pflug 2011-10-25 17:27:07 Re: lexemes in prefix search going through dictionary modifications