Daniel Gustafsson писал 2021-11-03 16:45:
>> On 2 Nov 2021, at 10:12, Alexander Pyhalov <[email protected]>
>> wrote:
>
>> Updated and rebased patch.
>
> + state = (Int128AggState *) palloc0(sizeof(Int128AggState));
> + state->calcSumX2 = false;
> +
> + if (!PG_ARGISNULL(0))
> + {
> +#ifdef HAVE_INT128
> + do_int128_accum(state, (int128) PG_GETARG_INT64(0));
> +#else
> + do_numeric_accum(state, int64_to_numeric(PG_GETARG_INT64(0)));
> +#endif
>
> This fails on non-INT128 platforms as state cannot be cast to
> Int128AggState
> outside of HAVE_INT128; it's not defined there. This needs to be a
> PolyNumAggState no?
Hi.
Thank you for noticing this. It's indeed fails with
pgac_cv__128bit_int=no.
Updated patch.
--
Best regards,
Alexander Pyhalov,
Postgres Professional