On Thu, May 18, 2023 at 3:42 AM Tom Lane <[email protected]> wrote:
> ... BTW, something I'd considered in an earlier attempt at fixing this
> was to change clause_is_computable_at's API to pass the clause's
> RestrictInfo not just the clause_relids, along the lines of
>
> @@ -541,9 +547,10 @@ extract_actual_join_clauses(List *restrictinfo_list,
> */
> bool
> clause_is_computable_at(PlannerInfo *root,
> - Relids clause_relids,
> + RestrictInfo *rinfo,
> Relids eval_relids)
> {
> + Relids clause_relids = rinfo->clause_relids;
> ListCell *lc;
>
> /* Nothing to do if no outer joins have been performed yet. */
>
> with corresponding simplifications at the call sites. That was with
> a view to examining has_clone/is_clone inside this function. My
> current proposal doesn't require that, but I'm somewhat tempted
> to make this API change anyway for future-proofing purposes.
> Thoughts?
This change looks good to me.
Thanks
Richard