On Tue, Jan 22, 2013 at 11:02:18PM -0500, Tom Lane wrote: > David Fetter <da...@fetter.org> writes: > > I've been working with Andrew Gierth (well, mostly he's been doing > > the work, as usual) to add WITH ORDINALITY as an option for > > set-returning functions. In the process, he found a minor > > opportunity to clean up the interface for $SUBJECT, reducing the > > call to a Single Point of Truth for lateral-ness, very likely > > improving the efficiency of calls to that function. > > As I mentioned in our off-list discussion, I think this is going in > the wrong direction. It'd make more sense to me to get rid of the > RangeFunction parameter, instead passing the two fields that > addRangeTableEntryForFunction actually uses out of that.
With utmost respect, of the four fields currently in RangeFunction: type (tag), lateral, funccallnode, alias, and coldeflist, the function needs three (all but funccallnode, which has already been transformed into a funcexpr). The patch for ordinality makes that 4/5 with the ordinality field added. > If we do what you have here, we'll be welding together the alias and > lateral settings for the new RTE; which conceivably some other > caller would want to specify in a different way. As a comparison > point, you might want to look at the various calls to > addRangeTableEntryForSubquery: some of those pass multiple fields > out of the same RangeSubselect, and some do not. As to addRangeTableEntryForSubquery, I'm not seeing the connection to the case at hand. Could you please spell it out? Cheers, David. -- David Fetter <da...@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fet...@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers