Should this patch be applied?

---------------------------------------------------------------------------

On Thu, Feb 15, 2018 at 06:57:50PM +0530, Ashutosh Bapat wrote:
> Hi,
> I noticed that functions is_foreign_expr(), classifyConditions() and
> appendOrderByClause() had variables/arguments named baserel when the
> relations passed to those could be join or upper relation as well.
> Here's patch renaming those as foreignrel.
> -- 
> Best Wishes,
> Ashutosh Bapat
> EnterpriseDB Corporation
> The Postgres Database Company

> diff --git a/contrib/postgres_fdw/deparse.c b/contrib/postgres_fdw/deparse.c
> index e111b09..bcf9bea 100644
> --- a/contrib/postgres_fdw/deparse.c
> +++ b/contrib/postgres_fdw/deparse.c
> @@ -198,7 +198,7 @@ static void get_relation_column_alias_ids(Var *node, 
> RelOptInfo *foreignrel,
>   */
>  void
>  classifyConditions(PlannerInfo *root,
> -                                RelOptInfo *baserel,
> +                                RelOptInfo *foreignrel,
>                                  List *input_conds,
>                                  List **remote_conds,
>                                  List **local_conds)
> @@ -212,7 +212,7 @@ classifyConditions(PlannerInfo *root,
>       {
>               RestrictInfo *ri = lfirst_node(RestrictInfo, lc);
>  
> -             if (is_foreign_expr(root, baserel, ri->clause))
> +             if (is_foreign_expr(root, foreignrel, ri->clause))
>                       *remote_conds = lappend(*remote_conds, ri);
>               else
>                       *local_conds = lappend(*local_conds, ri);
> @@ -224,29 +224,29 @@ classifyConditions(PlannerInfo *root,
>   */
>  bool
>  is_foreign_expr(PlannerInfo *root,
> -                             RelOptInfo *baserel,
> +                             RelOptInfo *foreignrel,
>                               Expr *expr)
>  {
>       foreign_glob_cxt glob_cxt;
>       foreign_loc_cxt loc_cxt;
> -     PgFdwRelationInfo *fpinfo = (PgFdwRelationInfo *) 
> (baserel->fdw_private);
> +     PgFdwRelationInfo *fpinfo = (PgFdwRelationInfo *) 
> (foreignrel->fdw_private);
>  
>       /*
>        * Check that the expression consists of nodes that are safe to execute
>        * remotely.
>        */
>       glob_cxt.root = root;
> -     glob_cxt.foreignrel = baserel;
> +     glob_cxt.foreignrel = foreignrel;
>  
>       /*
>        * For an upper relation, use relids from its underneath scan relation,
>        * because the upperrel's own relids currently aren't set to anything
>        * meaningful by the core code.  For other relation, use their own 
> relids.
>        */
> -     if (IS_UPPER_REL(baserel))
> +     if (IS_UPPER_REL(foreignrel))
>               glob_cxt.relids = fpinfo->outerrel->relids;
>       else
> -             glob_cxt.relids = baserel->relids;
> +             glob_cxt.relids = foreignrel->relids;
>       loc_cxt.collation = InvalidOid;
>       loc_cxt.state = FDW_COLLATE_NONE;
>       if (!foreign_expr_walker((Node *) expr, &glob_cxt, &loc_cxt))
> @@ -301,7 +301,7 @@ foreign_expr_walker(Node *node,
>       if (node == NULL)
>               return true;
>  
> -     /* May need server info from baserel's fdw_private struct */
> +     /* May need server info from foreignrel's fdw_private struct */
>       fpinfo = (PgFdwRelationInfo *) (glob_cxt->foreignrel->fdw_private);
>  
>       /* Set up inner_cxt for possible recursion to child nodes */
> @@ -2965,7 +2965,7 @@ appendGroupByClause(List *tlist, deparse_expr_cxt 
> *context)
>  }
>  
>  /*
> - * Deparse ORDER BY clause according to the given pathkeys for given base
> + * Deparse ORDER BY clause according to the given pathkeys for given foreign
>   * relation. From given pathkeys expressions belonging entirely to the given
>   * base relation are obtained and deparsed.
>   */
> @@ -2975,7 +2975,7 @@ appendOrderByClause(List *pathkeys, deparse_expr_cxt 
> *context)
>       ListCell   *lcell;
>       int                     nestlevel;
>       char       *delim = " ";
> -     RelOptInfo *baserel = context->scanrel;
> +     RelOptInfo *foreignrel = context->scanrel;
>       StringInfo      buf = context->buf;
>  
>       /* Make sure any constants in the exprs are printed portably */
> @@ -2987,7 +2987,7 @@ appendOrderByClause(List *pathkeys, deparse_expr_cxt 
> *context)
>               PathKey    *pathkey = lfirst(lcell);
>               Expr       *em_expr;
>  
> -             em_expr = find_em_expr_for_rel(pathkey->pk_eclass, baserel);
> +             em_expr = find_em_expr_for_rel(pathkey->pk_eclass, foreignrel);
>               Assert(em_expr != NULL);
>  
>               appendStringInfoString(buf, delim);


-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Only you can decide what is important to you.


Reply via email to