On Thu, Sep 5, 2019 at 6:33 PM Dilip Kumar <dilipbal...@gmail.com> wrote:
>   /*
> + * For inheritance child relations, we also need to remember
> + * the root parent.
> + */
> + if (parent->rtekind == RTE_RELATION)
> + rel->inh_root_relid = parent->inh_root_relid > 0 ?
> + parent->inh_root_relid :
> + parent->relid;
> + else
> + /* Child relation of flattened UNION ALL subquery. */
> + rel->inh_root_relid = relid;
>
> With the current changes, parent->inh_root_relid will always be > 0 so
> (parent->inh_root_relid > 0) condition doesn't make sence. Right?

Oops, you're right.  It should be:

if (parent->rtekind == RTE_RELATION)
    rel->inh_root_relid = parent->inh_root_relid;
else
    rel->inh_root_relid = relid;

Updated patch attached.

Thanks,
Amit

Attachment: v4-0001-Use-root-parent-s-permissions-when-reading-child-.patch
Description: Binary data

Reply via email to