aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/util/pathnode.c
diff options
context:
space:
mode:
authorDavid Rowley <drowley@postgresql.org>2024-02-15 13:13:31 +1300
committerDavid Rowley <drowley@postgresql.org>2024-02-15 13:13:31 +1300
commit87027cb55bf7b33416880f7f5f5e67f4202d5881 (patch)
tree8aa0e6312b9312ee396cbccb2a585febf1130e81 /src/backend/optimizer/util/pathnode.c
parent8fd0498de2005b4136aaf6fcd056ca4b18e37724 (diff)
downloadpostgresql-87027cb55bf7b33416880f7f5f5e67f4202d5881.tar.gz
postgresql-87027cb55bf7b33416880f7f5f5e67f4202d5881.zip
Clarify the 'rows' parameter in create_append_path
This is extracted from a larger patch to improve the UNION planner. While working on that, I found myself having to check what the 'rows' parameter is for. It's not obvious that passing a negative number is the way to have the rows estimate calculated and to find that out you need to read code in create_append_path() and in cost_append(). Discussion: https://postgr.es/m/CAApHDvpb_63XQodmxKUF8vb9M7CxyUyT4sWvEgqeQU-GB7QFoQ@mail.gmail.com
Diffstat (limited to 'src/backend/optimizer/util/pathnode.c')
-rw-r--r--src/backend/optimizer/util/pathnode.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index 2e1ec41a541..b3902b00329 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -1237,6 +1237,10 @@ create_tidrangescan_path(PlannerInfo *root, RelOptInfo *rel,
*
* Note that we must handle subpaths = NIL, representing a dummy access path.
* Also, there are callers that pass root = NULL.
+ *
+ * 'rows', when passed as a non-negative number, will be used to overwrite the
+ * returned path's row estimate. Otherwise, the row estimate is calculated
+ * by totalling the row estimates from the 'subpaths' list.
*/
AppendPath *
create_append_path(PlannerInfo *root,