diff options
author | Richard Guo | 2024-11-26 00:27:53 +0000 |
---|---|---|
committer | Richard Guo | 2024-11-26 00:27:53 +0000 |
commit | cc4c90cef918fc0cbd13af8b51838c5de5da73bb (patch) | |
tree | ed18873a4839d8faff4b6e30e1bac90d591d8b45 | |
parent | a8ccf4e93a7eeaae66007bbf78cf9183ceb1b371 (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.c | 28 |
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 { /* |