On Fri, Sep 30, 2022 at 06:00:53PM -0400, Tom Lane wrote:
> Nathan Bossart <nathandbossart@gmail.com> writes:
>> The main one I see is AclItem, which increases from 12 bytes to 16 bytes.
>
> ... and now requires double alignment ... did you fix its typalign?
Nope, I missed that, thanks for pointing it out. Should we move ai_privs
to the beginning of the struct, too? The only other similar example I see
is TimeTzADT, but that only consists of an int64 and an int32, while
AclItem starts with 2 uint32s. While it might not be strictly necessary,
it seems like there is a small chance it could become necessary in the
future.
> We could conceivably dodge the alignment increase by splitting the 64-bit
> field into two 32-bit fields, one for base privileges and one for grant
> options. That'd be rather invasive, so unless it leads to pleasant
> improvements in readability (which it might, perhaps) I wouldn't advocate
> for it.
Yeah, the invasiveness is the main reason I haven't tried this yet, but it
does seem like it'd improve readability.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com