Re: BUG #18240: Undefined behaviour in cash_mul_flt8() and friends
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: "Jonathan S. Katz" <jkatz@postgresql.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, David Rowley <dgrowleyml@gmail.com>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2024-01-14T00:55:03Z
Lists: pgsql-bugs
On Fri, Jan 12, 2024 at 10:50:25PM -0500, Jonathan S. Katz wrote: > On 1/12/24 11:33 AM, Tom Lane wrote: >> What'd have to happen is that people would have to upgrade to a >> version of btree_gin/btree_gist that deletes its money support >> before they could pg_upgrade into a core version that lacks money. >> So we'd have to ship that version at least one major release before >> nuking the core support. > > Hm -- what about people who skip versions (e.g. 16 => 19)? Would they have > to stop at 18 first to perform the upgrade? And does this only affect people > who use btree_gist/gin for moeny, or all btree_gist/gin users? That's exactly why I am worried about a schedule being too aggressive here. Less runs of pg_upgrade means less headaches and less downtime. I'd guess that we should have at least 3~4 years between a deprecation in the docs and the actual removal. It seems like this is what we should do now on HEAD, aiming at a complete removal in 21~22 when 17 gets out of support (even if pg_upgrade support is down to 10 years). >> v19: remove it from core >> >> Note that in v18, people could still use money even in >> btree_gin/btree_gist, just by installing a non-default extension >> version. So their C code for money would have to stay. > > Yeah, but for what we support directly in PostgreSQL, we will have made best > effort. If someone _really_ wants to do something with "money" in the way > you describe above, then they're committed to it. By the way, let me know if you have any objections about the patch I have posted upthread that reduces the dependency to money in the main regression test suite, replacing things with varbit while keeping coverage the same. I have a few second thoughts about the change in create_table, so I'm tempted to leave that part out for now, switching the rest. -- 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