RE: speeding up planning with partitions

From: "Imai, Yoshikazu" <imai(dot)yoshikazu(at)jp(dot)fujitsu(dot)com>
To: 'Amit Langote' <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, 'Amit Langote' <amitlangote09(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, "Jesper Pedersen" <jesper(dot)pedersen(at)redhat(dot)com>
Subject: RE: speeding up planning with partitions
Date: 2019-03-19 11:13:44
Message-ID: 0F97FA9ABBDBE54F91744A9B37151A512B3279@g01jpexmbkw24
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Tue, Mar 19, 2019 at 6:53 AM, Amit Langote wrote:
> On 2019/03/15 9:33, Imai, Yoshikazu wrote:
> > On Thu, Mar 14, 2019 at 9:04 AM, Amit Langote wrote:
> >>> * In inheritance_planner(), we do ChangeVarNodes() only for
> >>> orig_rtable,
> >> so the codes concatenating lists of append_rel_list may be able to
> be
> >> moved before doing ChangeVarNodes() and then the codes concatenating
> >> lists of rowmarks, rtable and append_rel_list can be in one block (or
> >> one bunch).
> >>
> >> Yeah, perhaps. I'll check.
> I'm inclined to add source_appinfos to subroot->append_rel_list after
> finishing the ChangeVarNodes(subroot->append_rel_list) step, because if
> there are many entries in source_appinfos that would unnecessarily make
> ChangeVarNodes take longer.

OK, thanks.

> I've attached updated patches. In the new version, I've moved some code
> from 0004 to 0005 patch, so as to avoid mixing unrelated modifications
> in one patch. Especially, orig_rtable now only appears after applying
> 0005.
> I appreciate your continued interest in these patches.

Thanks for new patches.
I looked over them and there are little comments.

* s/regresion/regression/g
(in commit message.)

* I thought "inh flag is it" is "inh flag is set" ...?

+ * For RTE_RELATION rangetable entries whose inh flag is it, adjust the

* Below comments are correct when after applying 0004.

+ * the query's target relation and no other. Especially, children of any
+ * source relations are added when the loop below calls grouping_planner
+ * on the *1st* child target relation.

* s/contain contain/contain/

+ * will contain contain references to the subquery RTEs that we've

* s/find them children/find their children/

+ * AppendRelInfos needed to find them children, so the next

* s/recursivly/recursively/
(in commit message)

I have no more comments about codes other than above :)

Yoshikazu Imai

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2019-03-19 11:19:53 Re: [HACKERS] Custom compression methods
Previous Message Kyotaro HORIGUCHI 2019-03-19 11:00:01 Re: ALTER TABLE on system catalogs