From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: Andrew Dunstan <andrew@dunslane.net>
Cc: Bruce Momjian <bruce@momjian.us>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: pg_dump versus ancient server versions
Date: Fri, 03 Dec 2021 12:10:07 -0500
Message-ID: <2310708.1638551407@sss.pgh.pa.us> (raw)
In-Reply-To: <196b40be-c571-e77f-3335-920f8a00047f@enterprisedb.com>
References: <CA+TgmoboH6=SgWHPddv_8ie91Qf2ECKSvg-72aYajKb2gyLYQg@mail.gmail.com>
<202110222351.3f42l5fgo3lw@alvherre.pgsql>
<CA+TgmobB8cj30z6dzEf5xNTxzGRNGmkJsCr3nv_Hneo0o5kozg@mail.gmail.com>
<3783090.1635111977@sss.pgh.pa.us>
<CA+TgmobQxeGVtgxQz_OxdgCO4r=Tb2SaCh9FJ8Dxjaq9DxHH_g@mail.gmail.com>
<3883429.1635171820@sss.pgh.pa.us>
<20211025170657.ekufa7urdcyzpgdm@alap3.anarazel.de>
<c51ede27-3b6d-1d27-9d1a-227526858db2@dunslane.net>
<22018.1635202338@sss.pgh.pa.us>
<d0316012-ece7-7b7e-2d36-9c38cb77cb3b@enterprisedb.com>
<20211202221607.xovsdnoh5tpbnhbs@alap3.anarazel.de>
<196b40be-c571-e77f-3335-920f8a00047f@enterprisedb.com>
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
> [ policy requiring that 9.2 and up be kept buildable, as of today ]
I experimented to see what this would entail exactly. Using
current macOS (Apple clang version 13.0.0) on M1 hardware,
I built with minimal configure options (--enable-debug --enable-cassert)
and ran the core regression tests. I found that commit
1c0cf52b3 (Use return instead of exit() in configure) is needed
in 9.4 and before, else we don't get through configure.
That's the only fix needed to get a clean build in 9.4 and 9.3.
9.2 shows several compiler warnings, the scarier ones of which could
be cleaned up by back-patching c74d586d2 (Fix function return type
confusion). The remainder are variable-may-be-used-uninitialized
warnings, which I think people are accustomed to ignoring in
dubious cases. In any case, I failed to get rid of them without
back-patching 71450d7fd (Teach compiler that ereport(>=ERROR) does
not return), which seems like a bridge too far.
I also tried 9.1, but it has multiple compile-time problems:
* fails to select a spinlock implementation
* "conflicting types for 'base_yylex'"
* strange type-conflict warnings in zlib calls
So at least on this platform, there are solid technical reasons
to select 9.2 not 9.1 as the cutoff.
Obviously, we might find some other things to fix if we checked
with other compilers, or tested more than the core tests.
But this much seems quite doable, and it's probably prerequisite
for any further testing.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, peter.eisentraut@enterprisedb.com, andres@anarazel.de, andrew@dunslane.net, bruce@momjian.us, robertmhaas@gmail.com, alvherre@alvh.no-ip.org, pgsql-hackers@lists.postgresql.org
Subject: Re: pg_dump versus ancient server versions
In-Reply-To: <2310708.1638551407@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox