Em sex., 19 de ago. de 2022 às 10:28, Tom Lane <t...@sss.pgh.pa.us> escreveu:
> Ranier Vilela <ranier...@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