On Mon, Feb 9, 2026 at 1:24 AM Tom Lane <[email protected]> wrote: > > =?UTF-8?Q?=C3=81lvaro_Herrera?= <[email protected]> writes: > > On 2026-02-08, Shinya Kato wrote: > >> Since pg_current_xact_id() returns xid8 which does not support > >> arithmetic operators, places that need "xid + 1" cast the result via > >> ::text::bigint first. > > > I think it may be better to add some operators, or was there a rationale > > for these not being there? > > I'm fairly concerned about overloading the arithmetic operators with > unsigned versions. The reason we never invented SQL-level uint8 and > such is fear of getting a lot of "ambiguous operator" errors. Now, > if we are careful not to create implicit casts between xid[8] and > any ordinary type, maybe it'd be okay to invent xid+int, xid8-int, > and a few more.
Got it. I’ll give it a try, thanks. > As things stand, I don't find the proposed patch to be an improvement. I agree that casting xid8 to bigint was not the right approach. However, I still believe it's important to move away from using deprecated functions. -- Best regards, Shinya Kato NTT OSS Center
