On Fri, Jun 2, 2023 at 8:31 PM Nishant Sharma <
nishant.sha...@enterprisedb.com> wrote:

> *I only had a minor comment on below change:-*
>
>
>
>
>
> *-   gating_clauses = get_gating_quals(root, scan_clauses);+   if
> (best_path->pathtype == T_ForeignScan && IS_JOIN_REL(rel))+
> gating_clauses = get_gating_quals(root, ((ForeignPath *)
> best_path)->joinrestrictinfo);+   else+       gating_clauses =
> get_gating_quals(root, scan_clauses);*
>
> Instead of using 'if' and creating a special case here can't we do
> something in the above switch?
>

I thought about that too.  IIRC I did not do it in that way because
postgresGetForeignPlan expects that there is no scan_clauses for a join
rel.  So doing that would trigger the Assert there.

   /*
    * For a join rel, baserestrictinfo is NIL and we are not considering
    * parameterization right now, so there should be no scan_clauses for
    * a joinrel or an upper rel either.
    */
   Assert(!scan_clauses);

Thanks
Richard

Reply via email to