Re: Silent overflow of interval type

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrey Borodin <amborodin86@gmail.com>
Cc: Nikolai <pgnickb@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2023-02-16T00:12:45Z
Lists: pgsql-hackers
Andrey Borodin <amborodin86@gmail.com> writes:
> On Wed, Feb 15, 2023 at 7:08 AM Nikolai <pgnickb@gmail.com> wrote:
>> The patch attached simply throws an error when an overflow is
>> detected. However I'm not sure this is a reasonable approach for a
>> code path that could be very hot in some workloads.

> Given the extraordinary amount of overflow checks in the nearby code
> of timestamp.c, I'd say that this case should not be an exception.

Yeah, I don't think this would create a performance problem, at least not
if you're using a compiler that implements pg_sub_s64_overflow reasonably.
(And if you're not, and this bugs you, the answer is to get a better
compiler.)

> By chance did you look at all other nearby cases, is it the only place
> with overflow?

That was my immediate reaction as well.

			regards, tom lane



Commits

  1. Detect overflow in timestamp[tz] subtraction.