Re: upper planner path-ification

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers\(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: upper planner path-ification
Date: 2015-05-17 15:41:17
Message-ID: 87lhgn6wti.fsf@news-spur.riddles.org.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>>>>> "Tom" == Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:

>> If there's interest, we could do that specific task as part of
>> adding hashagg support for grouping sets (which would otherwise make
>> it even longer), or as preparatory work for that.

Tom> I think that refactoring without changing anything about the way
Tom> it works will be painful and probably ultimately a dead end. As
Tom> an example, the current_pathkeys local variable is state that's
Tom> needed throughout that process, so you'd need some messy notation
Tom> to pass it around (unless you stuck it into PlannerRoot, which
Tom> would be ugly too). But that would go away in a path-ified
Tom> universe, because each Path would be marked as to its output sort
Tom> order. More, a lot of the code that you'd be relocating is code
Tom> that we should be trying to get rid of altogether, not just
Tom> relocate (to wit all the stuff that does cost-based comparisons of
Tom> alternatives).

Tom> So I'm all for refactoring, but I think it will happen as a natural
Tom> byproduct of path-ification, and otherwise would be rather forced.

Hrm, ok. So for the near future, we should leave it more or less as-is?
We don't have a timescale yet, but it's our intention to submit a
hashagg support patch for grouping sets as soon as time permits.

--
Andrew (irc:RhodiumToad)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-05-17 15:51:10 Re: upper planner path-ification
Previous Message Dmitry Dolgov 2015-05-17 15:37:23 Re: jsonb concatenate operator's semantics seem questionable