Em sáb., 12 de jun. de 2021 às 16:27, Andres Freund <andres@anarazel.de> escreveu:
Hi,
On 2021-06-12 10:55:22 -0300, Ranier Vilela wrote: > With the recent changes at procarray.c, I take a look in. > msvc compiler, has some warnings about signed vs unsigned.
> 1. Size_t is weird, because all types are int.
Not sure why I ended up using size_t here. There are cases where using a natively sized integer can lead to better code being generated, so I'd want to see some evaluation of the code generation effects.
Yes, sure.
> 2. Wouldn't it be better to initialize static variables?
No, explicit initialization needs additional space in the binary, and static variables are always zero initialized.
Yes, I missed this part.
But I was worried about this line:
/* hasn't been updated yet */ if (!TransactionIdIsValid(ComputeXidHorizonsResultLastXmin))
The first run with ComputeXidHorizonsResultLastXmin = 0, is ok?
> 3. There are some shadowing parameters.
Hm, yea, that's not great. Those are from
commit 0e141c0fbb211bdd23783afa731e3eef95c9ad7a Author: Robert Haas <rhaas@postgresql.org> Date: 2015-08-06 11:52:51 -0400
Reduce ProcArrayLock contention by removing backends in batches.
Amit, Robert, I assume you don't mind changing this?