Re: Fix typo with logical connector (src/backend/commands/vacuumparallel.c) - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Fix typo with logical connector (src/backend/commands/vacuumparallel.c)
Date
Msg-id CAEudQAoT92bVn3iWyjQyYRcY_1bYp8Kj02HBYJoGyvY8cvbRDg@mail.gmail.com
Whole thread Raw
In response to Re: Fix typo with logical connector (src/backend/commands/vacuumparallel.c)  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Fix typo with logical connector (src/backend/commands/vacuumparallel.c)
List pgsql-hackers

Em sex., 19 de ago. de 2022 às 10:28, Tom Lane <tgl@sss.pgh.pa.us> escreveu:
Ranier Vilela <ranier.vf@gmail.com> writes:
> At function parallel_vacuum_process_all_indexes there is
> a typo with a logical connector.
> I think that correct is &&, because both of the operators are
> bool types [1].
> As a result, parallel vacuum workers can be incorrectly enabled.

Since they're bools, the C spec requires them to promote to integer
0 or 1, therefore the & operator will yield the desired result.
So there's not going to be any incorrect behavior.
It seems that you are right.

#include <stdio.h>

#ifdef __cplusplus
extern "C" {
#endif

int main()
{
    bool op1 = false;
    bool op2 = true;
    bool band;
    bool cand;
   
    band = op1 & op2;
    printf("res=%d\n", band);
   
    cand = op1 && op2;
    printf("res=%d\n", cand);
}

#ifdef __cplusplus
}
#endif
 
results:
res=0
res=0

So, my assumption is incorrect.

regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: "Jonathan S. Katz"
Date:
Subject: Re: SQL/JSON features for v15
Next
From: Bruce Momjian
Date:
Subject: Re: Trivial doc patch