Re: Move pg_attribute.attcompression to earlier in struct for reduced size? - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Move pg_attribute.attcompression to earlier in struct for reduced size?
Date
Msg-id CAEudQAoPiVvPmh1gahhqavszBYyC2P0j4BnCdL_tpOk9gktSnA@mail.gmail.com
Whole thread Raw
In response to Re: Move pg_attribute.attcompression to earlier in struct for reduced size?  (Ranier Vilela <ranier.vf@gmail.com>)
List pgsql-hackers
Em sáb., 5 de jun. de 2021 às 11:16, Ranier Vilela <ranier.vf@gmail.com> escreveu:

> Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> writes:

> > Now, while this patch does seem to work correctly, it raises a number of
> > weird cpluspluscheck warnings, which I think are attributable to the
> > new macro definitions. I didn't look into it closely, but I suppose it
> > should be fixable given sufficient effort:
>
> Didn't test, but the first one is certainly fixable by adding a cast,
> and I guess the others might be as well.

>I get no warnings with this one. I'm a bit wary of leaving
>VARDATA_COMPRESSED_GET_EXTSIZE unchanged, but at least nothing in this
>patch requires a cast there.

Hi Alvaro.

Please, would you mind testing with these changes.
I'm curious to see if anything improves or not.
1. Add a const to the attr parameter.
2. Remove the cmid variable (and store it).
3. Add tail cut.

still has space for improvements.
 
If attr->attcompression is invalid, it doesn't matter, it's better to decompress.
Besides if it is invalid, currently default_toast_compression is not stored in attr->attcompression.
I believe this version should be a little faster.
Since it won't double-scan the attributes if it's not really necessary.

regards,
Ranier Vilela
Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Strangeness with UNIQUE indexes and UTF-8
Next
From: Justin Pryzby
Date:
Subject: Re: when the startup process doesn't