On Wed, Jun 30, 2021 at 2:32 PM Álvaro Herrera <alvhe...@alvh.no-ip.org>
wrote:

> On 2021-Jun-30, Zhihong Yu wrote:
>
> > Hi,
> > nit:
> > -       if (hasindex)
> > +       if (nindexes > 0)
> >
> > It seems hasindex is no longer needed since nindexes is checked.
>
> It's still used to call vac_update_relstats().  We want nindexes to be 0
> for partitioned tables, but still pass true when there are indexes.
>
Hi,
In that case, I wonder whether nindexes can be negated following the call
to vac_open_indexes().

        vac_open_indexes(onerel, AccessShareLock, &nindexes, &Irel);
+       nindexes = -nindexes;

That way, hasindex can be dropped.
vac_update_relstats() call would become:

        vac_update_relstats(onerel, -1, totalrows,
-                           0, false, InvalidTransactionId,
+                           0, nindexes != 0, InvalidTransactionId,

My thinking is that without hasindex, the code is easier to maintain.

Thanks


> Please don't forget to trim the text of the email you're replying to.
>
> --
> Álvaro Herrera                        Valdivia, Chile
>                         https://www.EnterpriseDB.com/
>

Reply via email to