Re: Changed SRF in targetlist handling
От | Merlin Moncure |
---|---|
Тема | Re: Changed SRF in targetlist handling |
Дата | |
Msg-id | CAHyXU0yJE=7dXdkmFftSvVMT2PN7E6VMjR8fvoDA2bCNMOeGOg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Changed SRF in targetlist handling (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Changed SRF in targetlist handling
|
Список | pgsql-hackers |
On Wed, May 25, 2016 at 3:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Andres Freund <andres@anarazel.de> writes: >> On 2016-05-25 15:20:03 -0400, Tom Lane wrote: >>> 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? > >> You mean https://www.postgresql.org/message-id/21076.1464034513@sss.pgh.pa.us ? >> If so, yes. > >> If we go with rewriting this into LATERAL, I'd vote for 2.5 (trailed by >> option 1), that'd keep most of the functionality, and would break >> visibly rather than invisibly in the cases where not. > > 2.5 would be okay with me. > >> I guess you're not planning to work on this? > > Well, not right now, as it's clearly too late for 9.6. I might hack on > it later if nobody beats me to it. Curious if this approach will also rewrite: select generate_series(1,generate_series(1,3)) s; ...into select s from generate_series(1,3) x cross join lateral generate_series(1,x) s; another interesting case today is: create sequence s; select generate_series(1,nextval('s')), generate_series(1,nextval('s')); this statement never terminates. a lateral rewrite of this query would always terminate with much better defined and well understood behaviors -- this is good. merlin
В списке pgsql-hackers по дате отправления: