diff options
author | Robert Haas <rhaas@postgresql.org> | 2016-03-21 09:20:53 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2016-03-21 09:30:18 -0400 |
commit | e06a38965b3bcdaa881e7e06892d4d8ab6c2c980 (patch) | |
tree | 7fe176a2301090c3bec08999ff77b8d0ab90fabe /src/include/optimizer/pathnode.h | |
parent | 7fa0064092e135415a558dc3c4d7393d14ab6d8e (diff) |
Support parallel aggregation.
Parallel workers can now partially aggregate the data and pass the
transition values back to the leader, which can combine the partial
results to produce the final answer.
David Rowley, based on earlier work by Haribabu Kommi. Reviewed by
Álvaro Herrera, Tomas Vondra, Amit Kapila, James Sewell, and me.
Diffstat (limited to 'src/include/optimizer/pathnode.h')
-rw-r--r-- | src/include/optimizer/pathnode.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h index d1eb22f27a4..1744ff058e8 100644 --- a/src/include/optimizer/pathnode.h +++ b/src/include/optimizer/pathnode.h @@ -74,7 +74,8 @@ extern MaterialPath *create_material_path(RelOptInfo *rel, Path *subpath); extern UniquePath *create_unique_path(PlannerInfo *root, RelOptInfo *rel, Path *subpath, SpecialJoinInfo *sjinfo); extern GatherPath *create_gather_path(PlannerInfo *root, - RelOptInfo *rel, Path *subpath, Relids required_outer); + RelOptInfo *rel, Path *subpath, PathTarget *target, + Relids required_outer, double *rows); extern SubqueryScanPath *create_subqueryscan_path(PlannerInfo *root, RelOptInfo *rel, Path *subpath, List *pathkeys, Relids required_outer); @@ -168,7 +169,9 @@ extern AggPath *create_agg_path(PlannerInfo *root, List *groupClause, List *qual, const AggClauseCosts *aggcosts, - double numGroups); + double numGroups, + bool combineStates, + bool finalizeAggs); extern GroupingSetsPath *create_groupingsets_path(PlannerInfo *root, RelOptInfo *rel, Path *subpath, |