On Mon, 28 Nov 2022 16:40:52 +0900
Michael Paquier <[email protected]> wrote:
> On Mon, Nov 28, 2022 at 11:54:45AM +0900, Michael Paquier wrote:
> > On Fri, Nov 25, 2022 at 04:05:13PM +0800, Richard Guo wrote:
> >> I wonder if we need to revise the comment atop qual_is_pushdown_safe()
> >> too which says
> >>
> >> * rinfo is a restriction clause applying to the given subquery (whose RTE
> >> * has index rti in the parent query).
> >>
> >> since there is no 'given subquery' after we remove it from the params.
>
> I was thinking about this point, and it seems to me that we could just
> do s/the given subquery/a subquery/. But perhaps you have a different
> view on the matter?
+1
I also was just about to send a patch updated as so, and this is attached.
Regards,
Yugo Nagata
> --
> Michael
--
Yugo NAGATA <[email protected]>
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 4ddaed31a4..3ca67b0e2e 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -136,8 +136,7 @@ static void check_output_expressions(Query *subquery,
static void compare_tlist_datatypes(List *tlist, List *colTypes,
pushdown_safety_info *safetyInfo);
static bool targetIsInAllPartitionLists(TargetEntry *tle, Query *query);
-static bool qual_is_pushdown_safe(Query *subquery, Index rti,
- RestrictInfo *rinfo,
+static bool qual_is_pushdown_safe(Index rti, RestrictInfo *rinfo,
pushdown_safety_info *safetyInfo);
static void subquery_push_qual(Query *subquery,
RangeTblEntry *rte, Index rti, Node *qual);
@@ -2527,7 +2526,7 @@ set_subquery_pathlist(PlannerInfo *root, RelOptInfo *rel,
Node *clause = (Node *) rinfo->clause;
if (!rinfo->pseudoconstant &&
- qual_is_pushdown_safe(subquery, rti, rinfo, &safetyInfo))
+ qual_is_pushdown_safe(rti, rinfo, &safetyInfo))
{
/* Push it down */
subquery_push_qual(subquery, rte, rti, clause);
@@ -3787,7 +3786,7 @@ targetIsInAllPartitionLists(TargetEntry *tle, Query *query)
/*
* qual_is_pushdown_safe - is a particular rinfo safe to push down?
*
- * rinfo is a restriction clause applying to the given subquery (whose RTE
+ * rinfo is a restriction clause applying to a subquery (whose RTE
* has index rti in the parent query).
*
* Conditions checked here:
@@ -3813,7 +3812,7 @@ targetIsInAllPartitionLists(TargetEntry *tle, Query *query)
* found to be unsafe to reference by subquery_is_pushdown_safe().
*/
static bool
-qual_is_pushdown_safe(Query *subquery, Index rti, RestrictInfo *rinfo,
+qual_is_pushdown_safe(Index rti, RestrictInfo *rinfo,
pushdown_safety_info *safetyInfo)
{
bool safe = true;