]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Tidy up datatype usage in test_random_offset_operations()
authorDavid Rowley <drowley@postgresql.org>
Wed, 8 Jul 2026 23:50:18 +0000 (11:50 +1200)
committerDavid Rowley <drowley@postgresql.org>
Wed, 8 Jul 2026 23:50:18 +0000 (11:50 +1200)
commitb5d73d2dd73d5a0dc744bf82ec3c18846c42c072
tree2c50e73c7bae0abb1119ec57b3e2212c916cab27
parent881033ae8b55dbd22f7ee9c26991b6c4e67d6bd5
Tidy up datatype usage in test_random_offset_operations()

I had previously made "seed" a uint64, as that's what pg_prng_seed()
expects to get.  However, GetCurrentTimestamp() and PG_GETARG_INT64()
both return int64, so there was a mismatch in signedness.

There are no bugs being fixed here, but it seems cleaner to make the
variable int64 and cast to unsigned when passing to pg_prng_seed().  This
means we no longer have to use the INT64_FORMAT specifier on the unsigned
type to format the seed of the failing test correctly to allow a user to
use the same seed from SQL when trying to recreate any failures manually.

The most important thing to ensure is correct here is that users can
specify the full range of seed values that could be automatically
selected by GetCurrentTimestamp() so that we can recreate any failures
from runs where the seed was auto-selected.  This still works as
expected when using the int64 type.

In passing, adjust a comment that was a little misleading.

Reported-by: Peter Eisentraut <peter@eisentraut.org>
Author: David Rowley <dgrowleyml@gmail.com>
Discussion: https://postgr.es/m/08fa9f01-373e-4cb4-9650-ad20517e2de3@eisentraut.org
src/backend/nodes/bitmapset.c
src/test/modules/test_bitmapset/test_bitmapset.c