Re: Partitioned index can be not dumped - Mailing list pgsql-hackers

From Zhihong Yu
Subject Re: Partitioned index can be not dumped
Date
Msg-id CALNJ-vRZxGfz-3u0rWELJ496A4tPKLV6hw1YJEB=N=0Z+7Q0GA@mail.gmail.com
Whole thread Raw
In response to Re: Partitioned index can be not dumped  (Álvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Partitioned index can be not dumped  (Álvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-hackers


On Wed, Jun 30, 2021 at 2:32 PM Álvaro Herrera <alvherre@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/

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: New committers: Daniel Gustafsson and John Naylor
Next
From: Álvaro Herrera
Date:
Subject: Re: Partitioned index can be not dumped