| 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
| 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`. |