From: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | "Imai, Yoshikazu" <imai(dot)yoshikazu(at)jp(dot)fujitsu(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: speeding up planning with partitions |
Date: | 2019-02-08 09:12:34 |
Message-ID: | 5d00eb35-375d-0672-0626-96bdb86829d0@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Imai-san,
Thanks for the comments.
On 2019/02/08 13:44, Imai, Yoshikazu wrote:
> 3.
> 0001: line 1919-1920
>
> - case CONSTRAINT_EXCLUSION_ON:
> - break; /* always try to exclude */
>
> CONSTRAINT_EXCLUSION_ON is no longer used, so should we remove it also from guc parameters?
Well, we haven't removed the "on" setting itself.
> 4.
> 0001:
>
> Can we remove enum InheritanceKind which is no longer used?
That we can do.
> I also see the patch from a perspective of separating codes from 0001 which are not essential of Overhaul inheritance update/delete planning. Although almost all of codes are related each other, but I found below two things can be moved to another patch.
>
> ---
> 0001: line 550-608
>
> This section seems to be just refinement of set_append_rel_size().
> So can we separate this from 0001 to another patch?
>
> ---
> 0001: line 812-841, 940-947, 1525-1536, 1938-1947
>
> These codes are related to removement of InheritanceKind from relation_excluded_by_constraints(), so I think it is something like cleaning of unneeded codes. Can we separate this to patch as some-code-clearnups-of-0001.patch? Of course, we can do that only if removing of these codes from 0001 would not bother success of "make check" of 0001.
> I also think that what I pointed out at above 3. and 4. can also be included in some-code-clearnups-of-0001.patch.
Okay, I've broken down those changes into separate patches, so that
cleanup hunks are not fixed with other complex changes.
0001 is now a patch to remove duplicate code from set_append_rel_size. It
combines multiple blocks that have the same body doing
set_dummy_rel_pathlist().
0002 is the "overhaul inherited update/delete planning"
0003 is a cleanup patch that gets rid of some code that is rendered
useless due to 0002 (partitioned tables no longer use constraint exclusion)
I think 0001 can be committed on its own. 0002+0003 can be committed
together.
0004-0006 are the patches that were previously 0002-0004.
The new version also contains a change to what was previously 0001 patch
(attached 0002) -- eq_classes is now copied right when the child subroot
is created, that is, in create_inherited_target_child_root(), no longer in
the loop in set_inherit_target_rel_sizes().
Thanks,
Amit
Attachment | Content-Type | Size |
---|---|---|
v21-0001-Reduce-code-duplication-in-set_append_rel_size.patch | text/plain | 2.9 KB |
v21-0002-Overhaul-inheritance-update-delete-planning.patch | text/plain | 64.5 KB |
v21-0003-Get-rid-of-some-useless-code.patch | text/plain | 8.5 KB |
v21-0004-Lazy-creation-of-RTEs-for-inheritance-children.patch | text/plain | 94.6 KB |
v21-0005-Teach-planner-to-only-process-unpruned-partition.patch | text/plain | 6.9 KB |
v21-0006-Do-not-lock-all-partitions-at-the-beginning.patch | text/plain | 1.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Konstantin Knizhnik | 2019-02-08 09:15:58 | Re: libpq compression |
Previous Message | Rushabh Lathia | 2019-02-08 09:05:03 | Re: ON SELECT rule on a table without columns |