summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guo2024-11-26 00:27:53 +0000
committerRichard Guo2024-11-26 00:27:53 +0000
commitcc4c90cef918fc0cbd13af8b51838c5de5da73bb (patch)
treeed18873a4839d8faff4b6e30e1bac90d591d8b45
parenta8ccf4e93a7eeaae66007bbf78cf9183ceb1b371 (diff)
Remove dead code in get_param_path_clause_serials()
The function get_param_path_clause_serials() is used to get the set of pushed-down clauses enforced within a parameterized Path. Since we don't currently support parameterized MergeAppend paths, and it doesn't look like that is going to change anytime soon (as explained in the comments for generate_orderedappend_paths), we don't need to consider MergeAppendPath in this function. This change won't make any measurable difference in performance; it's just for clarity's sake. Author: Richard Guo Reviewed-by: Andrei Lepikhov Discussion: https://postgr.es/m/CAMbWs4_Puie4DQ2ODvjQB_3CxYkUODnrJm8jn_ObMAcrjYNW7Q@mail.gmail.com
-rw-r--r--src/backend/optimizer/util/relnode.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index af357aae2d7..f96573eb5d6 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -1911,6 +1911,13 @@ get_param_path_clause_serials(Path *path)
{
if (path->param_info == NULL)
return NULL; /* not parameterized */
+
+ /*
+ * We don't currently support parameterized MergeAppend paths, as
+ * explained in the comments for generate_orderedappend_paths.
+ */
+ Assert(!IsA(path, MergeAppendPath));
+
if (IsA(path, NestPath) ||
IsA(path, MergePath) ||
IsA(path, HashPath))
@@ -1964,27 +1971,6 @@ get_param_path_clause_serials(Path *path)
}
return pserials;
}
- else if (IsA(path, MergeAppendPath))
- {
- /* Same as AppendPath case */
- MergeAppendPath *apath = (MergeAppendPath *) path;
- Bitmapset *pserials;
- ListCell *lc;
-
- pserials = NULL;
- foreach(lc, apath->subpaths)
- {
- Path *subpath = (Path *) lfirst(lc);
- Bitmapset *subserials;
-
- subserials = get_param_path_clause_serials(subpath);
- if (lc == list_head(apath->subpaths))
- pserials = bms_copy(subserials);
- else
- pserials = bms_int_members(pserials, subserials);
- }
- return pserials;
- }
else
{
/*