Re: Implement targetlist SRFs using ROWS FROM() (was Changed SRF in targetlist handling)
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@postgresql.org
Date: 2016-09-12T16:14:47Z
Lists: pgsql-hackers
On 2016-09-12 10:19:14 -0400, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > > 0001-Add-some-more-targetlist-srf-tests.patch > > Add some test. > > I think you should go ahead and push this tests-adding patch now, as it > adds documentation of the current behavior that is a good thing to have > independently of what the rest of the patchset does. Also, I'm worried > that some of the GROUP BY tests might have machine-dependent results > (if they are implemented by hashing) so it would be good to get in a few > buildfarm cycles and let that settle out before we start changing the > answers. Generally a sound plan - I started to noticeably expand it though, there's some important edge cases it didn't cover. > Although tsrf.sql doesn't currently need to create any views, it doesn't > seem like a great idea to assume that it never will. Maybe add this > after misc_functions in the previous parallel group, instead? WFM > +-- it's weird to GROUP BYs that increase the number of results > > "it's weird to have ..." > > +-- nonsensically that seems to be allowed > +UPDATE fewmore SET data = generate_series(4,9); > > "nonsense that seems to be allowed..." > > +-- SRFs are now allowed in RETURNING > +INSERT INTO fewmore VALUES(1) RETURNING generate_series(1,3); > > s/now/not/, apparently Err, yes. Will update. Greetings, Andres Freund
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