Re: Fix BUG #19586: money division overflow for INT64_MIN / -1

From: Rafia Sabih <rafia(dot)pghackers(at)gmail(dot)com>
To: Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, tristan(at)partin(dot)io
Subject: Re: Fix BUG #19586: money division overflow for INT64_MIN / -1
Date: 2026-07-30 06:02:15
Message-ID: CA+FpmFfmj0=8LrY1fhYuqrxcvv0LF-ySUKbigkCt7QVwnHv4Aw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 30 Jul 2026 at 11:01, Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com> wrote:

> Hi, Hackers!
>
> This continues BUG #19586 (money division overflow):
> https://www.postgresql.org/message-id/19586-bb603bf5ad9934dd@postgresql.org
>
> cash_div_int64() rejects division by zero, but not INT64_MIN / -1.
> On x86-64 that surfaces as a floating-point exception via SIGFPE; on
> aarch64 it silently returns INT64_MIN. Multiplication by -1 is already
> guarded (commit 4f96281587).
> The attached patch handles division by -1 as negation, matching
> int8div(), and raises "money out of range" when the dividend is
> PG_INT64_MIN. Regression tests cover int8/int4/int2.
>
> Tristan looked at the patch on -bugs and suggested posting it here.
>
> Patch attached.
>

I looked into this patch and it looks clean and complete as per the
requirements mentioned.
I don't find any commitfest entry for this, maybe you can add it to get
timely attention to this.

--
Regards,
Rafia Sabih
CYBERTEC PostgreSQL International GmbH

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Nisha Moond 2026-07-30 06:03:08 Re: Support EXCEPT for TABLES IN SCHEMA publications
Previous Message Chao Li 2026-07-30 05:45:49 Re: A new C function `get_partition_root`.