Re: patch: function xmltable
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Craig Ringer <craig@2ndquadrant.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2017-01-26T00:51:00Z
Lists: pgsql-hackers
2017-01-25 15:07 GMT+01:00 Alvaro Herrera <alvherre@2ndquadrant.com>: > Tom Lane wrote: > > Andres Freund <andres@anarazel.de> writes: > > > On 2017-01-24 21:32:56 -0300, Alvaro Herrera wrote: > > >> XMLTABLE is specified by the standard to return multiple rows ... but > > >> then as far as my reading goes, it is only supposed to be supported in > > >> the range table (FROM clause) not in the target list. I wonder if > > >> this would end up better if we only tried to support it in RT. I > asked > > >> Pavel to implement it like that a few weeks ago, but ... > > > > > Right - it makes sense in the FROM list - but then it should be an > > > executor node, instead of some expression thingy. > > > > +1 --- we're out of the business of having simple expressions that > > return rowsets. > > Well, that's it. I'm not committing this patch against two other > committers' opinion, plus I was already on the fence about the > implementation anyway. I think you should just go with the flow and > implement this by creating nodeTableexprscan.c. It's not even > difficult. > I am playing with this and the patch looks about 15kB longer - just due implementation basic scan functionality - and I didn't touch a planner. I am not happy from this - still I have a feeling so I try to reimplement reduced SRF. Regards Pavel > > -- > Álvaro Herrera https://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >
Commits
-
Support XMLTABLE query expression
- fcec6caafa23 10.0 landed
-
Create <sect3> in the functions-xml section
- 4461a9bfd1ac 10.0 landed
-
Improve handling of "UPDATE ... SET (column_list) = row_constructor".
- 906bfcad7ba7 10.0 cited
-
Add xmlexists function
- 641459f26954 9.1.0 cited