Re: Query::targetList and RETURNING - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Query::targetList and RETURNING
Date
Msg-id 29749.1257868944@sss.pgh.pa.us
Whole thread Raw
In response to Re: Query::targetList and RETURNING  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
Responses Re: Query::targetList and RETURNING
List pgsql-hackers
Marko Tiikkaja <marko.tiikkaja@cs.helsinki.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;
elsecteList = query->targetList;

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


pgsql-hackers by date:

Previous
From: Marko Tiikkaja
Date:
Subject: Re: Query::targetList and RETURNING
Next
From: Marko Tiikkaja
Date:
Subject: Re: Query::targetList and RETURNING