summaryrefslogtreecommitdiff
path: root/src/backend/optimizer
diff options
context:
space:
mode:
authorTom Lane2020-11-30 21:32:56 +0000
committerTom Lane2020-11-30 21:33:09 +0000
commit8286223f3d820c39f2d5f14222f7ccde53bdf502 (patch)
treea0d6fcd77b4707780c567febb16b603fc6677e19 /src/backend/optimizer
parent58ebe967f8a1e34a824d6a0a35728027272041c6 (diff)
Fix missing outfuncs.c support for IncrementalSortPath.
For debugging purposes, Path nodes are supposed to have outfuncs support, but this was overlooked in the original incremental sort patch. While at it, clean up a couple other minor oversights, as well as bizarre choice of return type for create_incremental_sort_path(). (All the existing callers just cast it to "Path *" immediately, so they don't care, but some future caller might care.) outfuncs.c fix by Zhijie Hou, the rest by me Discussion: https://postgr.es/m/324c4d81d8134117972a5b1f6cdf9560@G08CNEXMBPEKD05.g08.fujitsu.local
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r--src/backend/optimizer/README1
-rw-r--r--src/backend/optimizer/util/pathnode.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/optimizer/README b/src/backend/optimizer/README
index d174b8cb73a..efb52858c88 100644
--- a/src/backend/optimizer/README
+++ b/src/backend/optimizer/README
@@ -387,6 +387,7 @@ RelOptInfo - a relation or joined relations
ProjectionPath - a Result plan node with child (used for projection)
ProjectSetPath - a ProjectSet plan node applied to some sub-path
SortPath - a Sort plan node applied to some sub-path
+ IncrementalSortPath - an IncrementalSort plan node applied to some sub-path
GroupPath - a Group plan node applied to some sub-path
UpperUniquePath - a Unique plan node applied to some sub-path
AggPath - an Agg plan node applied to some sub-path
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index 5281a2f9983..51478957fb3 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -2798,7 +2798,7 @@ create_set_projection_path(PlannerInfo *root,
* 'limit_tuples' is the estimated bound on the number of output tuples,
* or -1 if no LIMIT or couldn't estimate
*/
-SortPath *
+IncrementalSortPath *
create_incremental_sort_path(PlannerInfo *root,
RelOptInfo *rel,
Path *subpath,
@@ -2834,7 +2834,7 @@ create_incremental_sort_path(PlannerInfo *root,
sort->nPresortedCols = presorted_keys;
- return pathnode;
+ return sort;
}
/*