Re: Changed SRF in targetlist handling
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org
Date: 2016-05-25T19:20:03Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2016-05-25 15:02:23 -0400, Tom Lane wrote: >> [ shrug... ] That seems like it's morally equivalent to (but uglier than) >> what I wanted to do, which is to teach the planner to rewrite the query to >> put the SRFs into a lateral FROM item. Splitting the tlist into two >> levels will work out to be exactly the same rewriting problem. > I think that depends on how bug compatible we want to be. It seems > harder to get the (rather odd!) lockstep iteration behaviour between two > SRFS with the LATERAL approach? We could certainly make a variant behavior in nodeFunctionscan.c that emulates that, if we feel that being exactly bug-compatible on the point is actually what we want. I'm dubious about that though, not least because I don't think *anyone* actually believes that that behavior isn't broken. Did you read my upthread message suggesting assorted compromise choices? regards, tom lane
Commits
-
Remove obsoleted code relating to targetlist SRF evaluation.
- ea15e18677fc 10.0 landed
-
Doc: improve documentation of new SRF-in-tlist behavior.
- f13a1277aa2d 10.0 landed
-
Move targetlist SRF handling from expression evaluation to new executor node.
- 69f4b9c85f16 10.0 landed
-
Don't split up SRFs when choosing to postpone SELECT output expressions.
- d543170f2fdd 9.6.0 cited