Hi Maxim Thanks for your continued efforts to get XID64 implemented. > 32kB page may contain then 2^13-2 offsets, each is maxed by 2^18+1. > Therefore, offset from base will never overflow 2^31 and will always > fit uint32.
> It appears logical to me. Agree +1 , but I have a question: I remember the XID64 patch got split into a few threads. How are these threads related? The original one was seen as too big a change, so it was broken up after people raised concerns. Thanks On Mon, Sep 15, 2025 at 11:42 PM Maxim Orlov <[email protected]> wrote: > > > On Sat, 13 Sept 2025 at 16:34, Alexander Korotkov <[email protected]> > wrote: > >> >> Therefore, we can change from each 8 of 32-bit multixact offsets >> (takes 32-bytes) to one 64-bit offset + 7 of 24-bit offset increments >> (takes 29-bytes). The actual multixact offsets can be calculated at >> the fly, overhead shouldn't be significant. What do you think? >> >> > Thank you for your review; I'm pleased to hear from you again. > > Yes, because the maximum number of mxoff is limited by the number of > running transactions, we may do it that way. > However, it is a bit wired to have offsets with the 7-byte "base". > > I believe we may take advantage of the 64XID patch's notion of putting a > 8 byte base followed by 4 byte offsets for particular page. > > 32kB page may contain then 2^13-2 offsets, each is maxed by 2^18+1. > Therefore, offset from base will never overflow 2^31 and will always > fit uint32. > > It appears logical to me. > > > -- > Best regards, > Maxim Orlov. >
