forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit4f15e5d
committed
Defer creation of partially-grouped relation until it's needed.
This avoids unnecessarily creating a RelOptInfo for which we have noactual need. This idea is from Ashutosh Bapat, who wrote a verydifferent patch to accomplish a similar goal. It will be moreimportant if and when we get partition-wise aggregate, since thenthere could be many partially grouped relations all of which couldpotentially be unnecessary. In passing, this sets the groupingrelation's reltarget, which wasn't done previously but makes thingssimpler for this refactoring.Along the way, adjust things so that add_paths_to_partial_grouping_rel,now renamed create_partial_grouping_paths, does not perform the Gatheror Gather Merge steps to generate non-partial paths from partialpaths; have the caller do it instead. This is again for theconvenience of partition-wise aggregate, which wants to injectadditional partial paths are created and before we decide which onesto Gather/Gather Merge. This might seem like a separate change, butit's actually pretty closely entangled; I couldn't really see muchvalue in separating it and having to change some things twice.Patch by me, reviewed by Ashutosh Bapat.Discussion:http://postgr.es/m/CA+TgmoZ+ZJTVad-=vEq393N99KTooxv9k7M+z73qnTAqkb49BQ@mail.gmail.com1 parent4dba331 commit4f15e5d
1 file changed
+170
-154
lines changed0 commit comments
Comments
(0)