Re: Query::targetList and RETURNING

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Marko Tiikkaja <marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Query::targetList and RETURNING
Date: 2009-11-10 16:02:24
Message-ID: 29749.1257868944@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Marko Tiikkaja <marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi> writes:
> I wouldn't care for this at all, but with things the way they are right
> now, the writeable CTE patch has to do quite a few of these:

[ shrug... ] How many is "quite a few"? In a quick search for existing
references to targetList in the planner, it looked to me like the
majority were places that wouldn't be relevant for writable CTEs anyway.
For example, none of the references in allpaths.c are, because they have
to do with deciding whether quals can be pushed down into the subquery.
And the answer to that, for a non-SELECT CTE, is always "no".

> if (query->cmdType != CMD_SELECT)
> cteList = query->returningList;
> else
> cteList = query->targetList;

Just a thought ... where you do need this, would it be better to phrase
it as

if (query->returningList)
cteList = query->returningList;
else
cteList = query->targetList;

? I'm not sure myself, but it's something to consider.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marko Tiikkaja 2009-11-10 16:11:13 Re: Query::targetList and RETURNING
Previous Message Marko Tiikkaja 2009-11-10 15:46:46 Re: Query::targetList and RETURNING