Re: SUM(int2)/SUM(int4) do not detect overflow of the int8 accumulator

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Andrei Lepikhov <lepihov(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Nathan Bossart <nathandbossart(at)gmail(dot)com>
Subject: Re: SUM(int2)/SUM(int4) do not detect overflow of the int8 accumulator
Date: 2026-09-03 00:45:06
Message-ID: 1412049.1788396306@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Michael Paquier <michael(at)paquier(dot)xyz> writes:
> On Wed, Sep 02, 2026 at 07:56:32PM -0400, Andres Freund wrote:
>> FWIW, I think we should seriously consider making [almost] all the transition
>> states internal. Having to support calling these functions in non-aggregate
>> contexts adds complexity without any actual gain. We shouldn't need to check
>> whether we are in an AggContext, whether the argument is toasted, whether
>> there are NULL elements in the array, compute offsets into the array, etc.

> +1.

Seems reasonable. We could still have the actual representation be
int8[] or whatever if it saves code to do so, but we could declare
it internal at SQL level to remove these edge cases.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Paul Kim 2026-09-03 00:52:20 Re: Be strict when request to flush past end of WAL in WaitXLogInsertionsToFinish
Previous Message Chao Li 2026-09-03 00:42:43 Re: SUM(int2)/SUM(int4) do not detect overflow of the int8 accumulator