Add missing "return" statement to accumulate_append_subpath.
authorRobert Haas <rhaas@postgresql.org>
Wed, 10 Jan 2018 16:18:40 +0000 (11:18 -0500)
committerRobert Haas <rhaas@postgresql.org>
Wed, 10 Jan 2018 16:21:20 +0000 (11:21 -0500)
Without this, Parallel Append can end up with extra children.

Report by Rajkumar Raghuwanshi.  Fix by Amit Khandekar.  Brown
paper bag bug by me.

Discussion: http://postgr.es/m/CAKcux6mBF-NiddyEe9LwymoUC5+wh8bQJ=uk2gGkOE+L8cv=LA@mail.gmail.com

src/backend/optimizer/path/allpaths.c

index 12a6ee4a22b087804fc81877cdadb5e913e25279..c5304b712e6e97f05b59370f94ce3b4b19e367b4 100644 (file)
@@ -1926,6 +1926,7 @@ accumulate_append_subpath(Path *path, List **subpaths, List **special_subpaths)
                              apath->first_partial_path);
            *special_subpaths = list_concat(*special_subpaths,
                                            new_special_subpaths);
+           return;
        }
    }
    else if (IsA(path, MergeAppendPath))