Re: Fix an incorrect assertion condition in mdwritev().
От | Andres Freund |
---|---|
Тема | Re: Fix an incorrect assertion condition in mdwritev(). |
Дата | |
Msg-id | 20240603222407.rhds5yb52jshdykw@awork3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Fix an incorrect assertion condition in mdwritev(). (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Fix an incorrect assertion condition in mdwritev().
Re: Fix an incorrect assertion condition in mdwritev(). |
Список | pgsql-hackers |
Hi, On 2024-06-04 07:17:51 +0900, Michael Paquier wrote: > On Sun, May 26, 2024 at 12:08:46AM -0400, Tom Lane wrote: > > After a few minutes' thought, how about: > > > > Assert((uint64) blocknum + (uint64) nblocks <= (uint64) mdnblocks(reln, forknum)); > > > > This'd stop being helpful if we ever widen BlockNumber to 64 bits, > > but I think that's unlikely. (Partitioning seems like a better answer > > for giant tables.) > > No idea if this will happen or not, but that's not the only area where > we are going to need a native uint128 implementation to control the > overflows with uint64. I'm confused - isn't using common/int.h entirely sufficient for that? Nearly all architectures have more efficient ways to check for 64bit overflows than doing actual 128 bit math. Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: