On Sat, Mar 20, 2021 at 04:13:47PM +0100, Tomas Vondra wrote:
> +++ b/src/backend/access/brin/brin_tuple.c
> @@ -213,10 +213,20 @@ brin_form_tuple(BrinDesc *brdesc, BlockNumber blkno,
> BrinMemTuple *tuple,
> (atttype->typstorage == TYPSTORAGE_EXTENDED ||
> atttype->typstorage == TYPSTORAGE_MAIN))
> {
> + Datum cvalue;
> + char compression =
> GetDefaultToastCompression();
> Form_pg_attribute att =
> TupleDescAttr(brdesc->bd_tupdesc,
>
> keyno);
> - Datum cvalue =
> toast_compress_datum(value,
> -
> att->attcompression);
> +
> + /*
> + * If the BRIN summary and indexed attribute
> use the same data
> + * type, we can the same compression method.
> Otherwise we have
can *use ?
> + * to use the default method.
> + */
> + if (att->atttypid == atttype->type_id)
> + compression = att->attcompression;
It would be more obvious to me if this said here:
| else: compression = GetDefaultToastCompression
--
Justin