v1-0001-Remove-dead-code-in-get_param_path_clause_serials.patch
application/octet-stream
Filename: v1-0001-Remove-dead-code-in-get_param_path_clause_serials.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch v1-0001
Subject: Remove dead code in get_param_path_clause_serials()
| File | + | − |
|---|---|---|
| src/backend/optimizer/util/relnode.c | 7 | 21 |
From 664f06403bab18fdb51927baf97000ba8d71ebdf Mon Sep 17 00:00:00 2001
From: Richard Guo <guofenglinux@gmail.com>
Date: Wed, 13 Nov 2024 18:25:08 +0900
Subject: [PATCH v1] 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.
---
src/backend/optimizer/util/relnode.c | 28 +++++++---------------------
1 file changed, 7 insertions(+), 21 deletions(-)
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index af357aae2d..f96573eb5d 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
{
/*
--
2.43.0