Re: Adding CORRESPONDING to Set Operations - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Adding CORRESPONDING to Set Operations
Date
Msg-id 9828.1316883118@sss.pgh.pa.us
Whole thread Raw
In response to Re: Adding CORRESPONDING to Set Operations  (Kerem Kat <keremkat@gmail.com>)
List pgsql-hackers
Kerem Kat <keremkat@gmail.com> writes:
> In the parser while analyzing SetOperationStmt, larg and rarg needs to be
> transformed as subqueries. SetOperationStmt can have two fields representing
> larg and rarg with projected columns according to corresponding:
> larg_corresponding,
> rarg_corresponding.

Why?  CORRESPONDING at a given set-operation level doesn't affect either
sub-query, so I don't see why you'd need a different representation for
the sub-queries.

>> Obviously, that logic doesn't work at all for CORRESPONDING, so you'll
>> need to have a separate code path to deduce the output column list in
>> that case.

> If the output column list to be determined at that stage it needs to
> be filtered and ordered.
> In that case aren't we breaking the non-modification of user query argument?

No.  All that you're doing is correctly computing the lists of the
set-operation's output column types (and probably names too).  These are
internal details that needn't be examined when printing the query, so
they won't affect ruleutils.c.

> note: I am new to this list, am I asking too much detail?

Well, I am beginning to wonder if you should choose a smaller project
for your first venture into patching Postgres.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Dan McGee
Date:
Subject: Re: [PATCH] Use new oom_score_adj without a new compile-time constant
Next
From: Andrew Dunstan
Date:
Subject: random isolation test failures