Re: remove bits* types

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: remove bits* types
Date: 2026-03-30 18:00:07
Message-ID: acq6J5W_pe_DRP25@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-03-30 18:07:21 Re: remove bits* types
Previous Message Heikki Linnakangas 2026-03-30 17:50:34 Re: Thread-safe getopt()