Re: speeding up planning with partitions

From: Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com>
To: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
Cc: "Imai, Yoshikazu" <imai(dot)yoshikazu(at)jp(dot)fujitsu(dot)com>, 'Amit Langote' <amitlangote09(at)gmail(dot)com>, 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>
Subject: Re: speeding up planning with partitions
Date: 2019-03-04 16:20:48
Message-ID: ce7bb7c2-8eac-0047-1e04-e771f08ad1fb@redhat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Amit,

Passes check-world.

On 3/4/19 5:38 AM, Amit Langote wrote:
> See patch 0001.
>

+* members of any appendrels we find here are added built later when

s/built//

> See patch 0002.
>

+ grouping_planner(root, false, 0.0 /* retrieve all tuples */);

Move comment out of function call.

+ if (root->simple_rte_array[childRTindex])
+ elog(ERROR, "rel %d already exists", childRTindex);
+ root->simple_rte_array[childRTindex] = childrte;
+ if (root->append_rel_array[childRTindex])
+ elog(ERROR, "child relation %d already exists", childRTindex);
+ root->append_rel_array[childRTindex] = appinfo;

Could the "if"s be made into Assert's instead ?

+ * the newly added bytes with zero

Extra spaces

+ if (rte->rtekind == RTE_RELATION && !root->contains_inherit_children)

s/TAB/space

> See patch 0003.
>

+ * because they correspond to flattneed UNION ALL subqueries. Especially,

s/flattneed/flatten

> See patch 0004.
>

+ * no need to make any new entries, because anything that'd need those

Use "would" explicit

+ * this case, since it needn't be scanned.

, since it doesn't need to be scanned

> See patch 0005.
>
> See patch 0006.
>

I'll run some tests using a hash partitioned setup.

Best regards,
Jesper

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shawn Debnath 2019-03-04 16:55:06 Re: Refactoring the checkpointer's fsync request queue
Previous Message Arthur Zakirov 2019-03-04 15:53:31 Re: query logging of prepared statements