Re: remove bits* types

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Melanie Plageman <melanieplageman@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, Andres Freund <andres@anarazel.de>, Álvaro Herrera <alvherre@kurilemu.de>, Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-30T18:00:07Z
Lists: pgsql-hackers
On Mon, Mar 30, 2026 at 06:36:48PM +0100, Dagfinn Ilmari Mannsåker wrote:
> To avoid breaking extensions, we could leave the typedefs in place with
> an #ifndef guard on some symbol that's only defined when building
> postgres itself, but not when building extensions (or vice versa with an
> #ifdef instead).
> 
> This is used a lot in Perl for things we don't want to use in core any
> more, but we don't want to break CPAN modules still using.

It's hard to get an exact count because the names are so common, but I'm
seeing <10 packages on codesearch.debian.net that might be affected, and
it's quite easy to fix (s/bits/uint/g).  My experience is that we routinely
"break" extensions like this in new major versions, too.  So, I'm not
convinced we need to do any kind of backward-compatibility work.  In any
case, we have a lot of time between now and GA, so if a bunch of angry
extension authors come to my door with pitchforks, we can reconsider.

-- 
nathan



Commits

  1. Remove bits* typedefs.