On Wed, Mar 18, 2026 at 07:15:29PM -0400, Robert Haas wrote:
> I'm definitely -1 on trying to use them more consistently. This is a
> 261 line patch. The reverse patch to use these types everywhere that
> we use integers as a collection of bits is probably 100 times that
> size. If you took that idea to its logical conclusion, every flags
> variable in the backend would end up getting converted.
This is definitely not accurate, but I counted around 400 such cases for
the reverse patch:
$ grep -E "int[0-9]* (flags|options)" src/* -rI | wc -l
409
> I'm not entirely sure that this is worth standardizing at all; if
> someone thinks that using bits8 or whatever makes the code more rather
> than less clear in a certain context, who am I to argue? If someone
> else prefers uint8 in another context, also fine.
>
> But if we are going to standardize, I think the only sensible choice
> is what Nathan's done here. The reverse would be an insane amount of
> code churn.
While nobody seems totally opposed to the idea, it does seem to be
generating some discussion. I'd rather not distract more important work
for v19, so I'm happy to put it on the shelf for now.
--
nathan