Add overflow checks to money type.

Nathan Bossart <nathan@postgresql.org>

Commit: c5321e9651c5a9306ffe0d4488a0bb3607534920
Author: Nathan Bossart <nathan@postgresql.org>
Date: 2024-07-19T16:52:32Z
Releases: 13.16
Add overflow checks to money type.

None of the arithmetic functions for the the money type handle
overflow.  This commit introduces several helper functions with
overflow checking and makes use of them in the money type's
arithmetic functions.

Fixes bug #18240.

Reported-by: Alexander Lakhin
Author: Joseph Koshakow
Discussion: https://postgr.es/m/18240-c5da758d7dc1ecf0%40postgresql.org
Discussion: https://postgr.es/m/CAAvxfHdBPOyEGS7s%2Bxf4iaW0-cgiq25jpYdWBqQqvLtLe_t6tw%40mail.gmail.com
Backpatch-through: 12

Files

PathChange+/−
src/backend/utils/adt/cash.c modified +94 −80
src/test/regress/expected/money.out modified +19 −0
src/test/regress/sql/money.sql modified +11 −0

Discussion