Remove dead code in get_param_path_clause_serials()
authorRichard Guo <[email protected]>
Tue, 26 Nov 2024 00:27:53 +0000 (09:27 +0900)
committerRichard Guo <[email protected]>
Tue, 26 Nov 2024 00:27:53 +0000 (09:27 +0900)
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

src/backend/optimizer/util/relnode.c

index af357aae2d7514b5ec95b91476b070452208a5a3..f96573eb5d6eb80aafb8ad7ceb9e5a77f279e4ea 100644 (file)
@@ -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
    {
        /*