Re: BUG #18240: Undefined behaviour in cash_mul_flt8() and friends

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2023-12-12T12:01:38Z
Lists: pgsql-bugs
On Tue, 12 Dec 2023 at 22:03, Michael Paquier <michael@paquier.xyz> wrote:
> AFAIK, we discourage the use of money in the wiki for quite a few
> years:
> https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_money
>
> And numeric has much better code coverage and support.  I am wondering
> whether we've reached the point where it would be better to remove it
> entirely from the tree, and just tell people to use numeric.  This has
> a cost for upgrades, where we should cross check for its use but there
> is already check_for_data_type_usage() to do this job so the facility
> is there.

We could extract it into a contrib module.

That might help reduce new usages of it and would also allow people
who have large tables using the money type but can't realistically
wait out a table rewrite to upgrade to a newer version of Postgres.

David



Commits

  1. Add overflow checks to money type.

  2. Reduce dependency to money data type in main regression test suite