mirror of
https://github.com/postgres/postgres.git
synced 2026-07-11 18:45:31 -04:00
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
This commit is contained in:
parent
881033ae8b
commit
b5d73d2dd7
2 changed files with 3 additions and 3 deletions
|
|
@ -522,7 +522,7 @@ bms_offset_members(const Bitmapset *a, int offset)
|
|||
|
||||
/*
|
||||
* We loop backward over the array so we correctly carry bits from
|
||||
* higher words before they're overwritten.
|
||||
* higher words.
|
||||
*/
|
||||
do
|
||||
{
|
||||
|
|
|
|||
|
|
@ -797,7 +797,7 @@ Datum
|
|||
test_random_offset_operations(PG_FUNCTION_ARGS)
|
||||
{
|
||||
pg_prng_state state;
|
||||
uint64 seed;
|
||||
int64 seed;
|
||||
int num_ops;
|
||||
int max_range;
|
||||
int min_value;
|
||||
|
|
@ -819,7 +819,7 @@ test_random_offset_operations(PG_FUNCTION_ARGS)
|
|||
if (PG_ARGISNULL(3) || min_value < 0)
|
||||
elog(ERROR, "invalid minimum value");
|
||||
|
||||
pg_prng_seed(&state, seed);
|
||||
pg_prng_seed(&state, (uint64) seed);
|
||||
|
||||
for (int op = 0; op < num_ops; op++)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue