Re: Implement targetlist SRFs using ROWS FROM() (was 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-09-15T21:12:55Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2016-09-15 16:48:59 -0400, Tom Lane wrote: >> The patch that I posted would run both the generate_series(1, 2) and >> generate_series(2,4) calls in the same SRF node, forcing them to run in >> lockstep, after which their results would be fed to the SRF node doing >> the top-level SRFs. We could probably change it to run them in separate >> nodes, but I don't see any principled way to decide which one goes first >> (and in some variants of this example, it would matter). > I think that's fine. I personally still think we're *much* better off > getting rid of the non-lockstep variants. You're still on the fence > about retaining the LCM behaviour (for the same nesting level at least)? I'm happy to get rid of the LCM behavior, I just want to have some wiggle room to be able to get it back if somebody really needs it. 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