|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|
|Views:||Raw Message | Whole Thread | Download mbox|
Thanks for the comments.
On 2019/02/08 13:44, Imai, Yoshikazu wrote:
> 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.
> 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
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
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().
|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|