On 29.10.24 07:51, Michael Paquier wrote:
> On Tue, Oct 29, 2024 at 07:38:36AM +0100, Peter Eisentraut wrote:
>> I think it could be useful to set up some better test coverage for various
>> things overflowing signed integer maximums. For example, maybe you could
>> hack initdb to advance the OID counter to INT32_MAX+1 or thereabouts and run
>> the test suites from there. That would also catch things like inappropriate
>> uses of atoi(), things beyond just the format strings.
>
> Fun. One way to be fancy here would be to force a pg_resetwal
> --next-oid in some of the test paths (Cluster.pm and/or pg_regress)
> with an environment variable to force the command to trigger across
> the board for all the clusters created in the tests. initdb cannot be
> used here as the TAP tests reuse a cluster already initdb'd to save
> time. No need to touch at pg_regress, either, as we could count on the
> pg_regress runs in 002_pg_upgrade.pl and 027_stream_regress.pl.
I was thinking just compiling with a patch like this:
-#define FirstNormalObjectId 16384
+#define FirstNormalObjectId ((Oid) INT_MAX + 1)
Already found one bug: pg_checksums --filenode only accepts files up to
INT_MAX.