Re: BUG #18240: Undefined behaviour in cash_mul_flt8() and friends
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "Jonathan S. Katz" <jkatz@postgresql.org>, David Rowley <dgrowleyml@gmail.com>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2023-12-25T00:52:53Z
Lists: pgsql-bugs
On Sun, Dec 24, 2023 at 01:21:15PM -0500, Tom Lane wrote: > "Jonathan S. Katz" <jkatz@postgresql.org> writes: >> I'm of the strong opinion that we should get rid of money. I personally >> haven't encountered it in the wild -- I'm sure it's there, but it seems >> limited -- and most apps that seriously deal with money will either user >> either "numeric" or an integer-based type. > > Yeah, maybe we should just do it. I was pleasantly surprised by how > little push-back we got from nuking the 32-bit datetime types a few > releases ago; perhaps this one would likewise not have much of a > constituency. Yeah, that's hard to say. Perhaps it would a good idea to ask more widely how much people have been relying on that and how large these data sets are. Another thing that we could attempt is doing something about the the table rewrites on type changes to require an EOL. Like more CONCURRENTLY flavors in ALTER TABLE? >> I am sensitive to the upgrade piece, as we don't want someone relying on >> that behavior to be indefinitely stuck. But perhaps part of the >> deprecation plan is to just keep the casts around[1] for a few releases, >> without exposing the type, and prevent new creations of the type? > > I don't really see a way to do that, especially not if we don't want > to put a large amount of effort into it. We can certainly make > pg_upgrade reject "money" columns, and tell people they need to > rewrite those before they upgrade not after. At least the infra to be able to achieve that should be here. -- Michael
Commits
-
Add overflow checks to money type.
- e8dfe0430fad 14.13 landed
- c5321e9651c5 13.16 landed
- b82791c8fc2c 15.8 landed
- 4f962815871f 12.20 landed
- 3764ee47f78c 17.0 landed
- 34e9dce69c46 16.4 landed
- 22b0ccd65d27 18.0 landed
-
Reduce dependency to money data type in main regression test suite
- 31acee4b66f9 17.0 landed