Re: Partial aggregates pushdown

From: Daniel Gustafsson <daniel(at)yesql(dot)se>
To: Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>
Cc: Ilya Gladyshev <i(dot)gladyshev(at)postgrespro(dot)ru>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Partial aggregates pushdown
Date: 2021-11-15 10:16:24
Message-ID: E1C82737-B148-4975-81C9-5366E4412553@yesql.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 3 Nov 2021, at 15:50, Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru> wrote:
>
> Daniel Gustafsson писал 2021-11-03 16:45:
>>> On 2 Nov 2021, at 10:12, Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru> 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.

The updated patch also fails to apply now, but on the catversion.h bump. To
avoid having to rebase for that I recommend to skip that part in the patch and
just mention the need in the thread, any committer picking this up for commit
will know to bump the catversion so there is no use in risking unneccesary
conflicts.

--
Daniel Gustafsson https://vmware.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bharath Rupireddy 2021-11-15 10:16:48 Re: pg_get_publication_tables() output duplicate relid
Previous Message Daniel Gustafsson 2021-11-15 10:10:49 Re: Split xlog.c