Re: Parallel CREATE INDEX for GIN indexes

From: Tomas Vondra <tomas(at)vondra(dot)me>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Parallel CREATE INDEX for GIN indexes
Date: 2025-03-09 22:17:29
Message-ID: 857a84de-c55c-471c-a8b4-3687a02449a5@vondra.me
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 3/9/25 17:38, Tom Lane wrote:
> Tomas Vondra <tomas(at)vondra(dot)me> writes:
>> I pushed the two smaller parts today.
>
> Coverity is a little unhappy about this business in
> _gin_begin_parallel:
>
> bool leaderparticipates = true;
> ...
> #ifdef DISABLE_LEADER_PARTICIPATION
> leaderparticipates = false;
> #endif
> ...
> scantuplesortstates = leaderparticipates ? request + 1 : request;
>
> It says
>
>>>> CID 1644203: Possible Control flow issues (DEADCODE)
>>>> Execution cannot reach the expression "request" inside this statement: "scantuplesortstates = (lead...".
> 924 scantuplesortstates = leaderparticipates ? request + 1 : request;
>
> If this were just temporary code I'd let it pass, but I see nothing
> replacing this logic in the follow-up patches, so I think we ought
> to do something to shut it up.
>
> It's not complaining about the later bits like
>
> if (leaderparticipates)
> ginleader->nparticipanttuplesorts++;
>
> (perhaps because there's no dead code there?) So one idea is
>
> scantuplesortstates = request;
> if (leaderparticipates)
> scantuplesortstates++;
>
> which would look more like the other code anyway.
>

I don't mind doing it differently, but this code is just a copy from
_bt_begin_parallel. So how come coverity does not complain about that?
Or is that whitelisted?

thanks

--
Tomas Vondra

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-03-09 22:19:49 Re: Printing window function OVER clauses in EXPLAIN
Previous Message Alexander Korotkov 2025-03-09 21:53:00 Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs