aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
{
/*