Re: [PATCHES] targetlist functions part 1 (was targetlist
От | Peter Eisentraut |
---|---|
Тема | Re: [PATCHES] targetlist functions part 1 (was targetlist |
Дата | |
Msg-id | Pine.LNX.4.44.0301221924180.789-100000@localhost.localdomain обсуждение исходный текст |
Ответы |
Re: [PATCHES] targetlist functions part 1 (was targetlist
|
Список | pgsql-hackers |
Tom Lane writes: > > With sufficiently blurred vision one might even find SQL99's clause > > <collection derived table> ::= > > UNNEST <left paren> <collection value expression> <right paren> > > applicable. Or maybe not. > > Hm. I'm not sure what UNNEST does, but now that you bring SQL99 into > the picture, what about WITH? That might solve the problem, because > (I think) WITH tables are logically determined before the main SELECT > begins to execute. The SQL 200x draft defines a new clause TABLE ( <collection value expression> ) as a possible <table primary>, where the <collection value expression> is required to be a function call. At the end this just boils down to UNNEST, though. UNNEST is defined in terms of a hairy recursive join subquery with a LATERAL( ) around it. LATERAL(subquery) is the same as just (subquery) except that the scope clauses are different. So I think this is probably what we ought to look at. -- Peter Eisentraut peter_e@gmx.net
В списке pgsql-hackers по дате отправления: