Re: Silly bug in pgbench's random number generator - Mailing list pgsql-patches

From Gregory Stark
Subject Re: Silly bug in pgbench's random number generator
Date
Msg-id 87644jei5a.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: Silly bug in pgbench's random number generator  (Bruce Momjian <bruce@momjian.us>)
List pgsql-patches
Uhm, this is a one-line *bug fix*.


"Bruce Momjian" <bruce@momjian.us> writes:

> This has been saved for the 8.4 release:
>
>     http://momjian.postgresql.org/cgi-bin/pgpatches_hold
>
> ---------------------------------------------------------------------------
>
> Gregory Stark wrote:
>>
>> pgbench's random number generator was only generating the first and last value
>> in the specified range half as often as other values in the range. Not that it
>> actually matters but it may as well do what it claims. This line has a pretty
>> long and sordid history with various people tweaking it one way and another.
>>
>> cvs diff: Diffing contrib/pgbench
>> Index: contrib/pgbench/pgbench.c
>> ===================================================================
>> RCS file: /home/stark/src/REPOSITORY/pgsql/contrib/pgbench/pgbench.c,v
>> retrieving revision 1.66
>> diff -u -r1.66 pgbench.c
>> --- contrib/pgbench/pgbench.c    24 May 2007 18:54:10 -0000    1.66
>> +++ contrib/pgbench/pgbench.c    14 Jun 2007 16:22:19 -0000
>> @@ -191,7 +191,7 @@
>>  static int
>>  getrand(int min, int max)
>>  {
>> -    return min + (int) (((max - min) * (double) random()) / MAX_RANDOM_VALUE + 0.5);
>> +    return min + (int) (((max - min + 1) * (double) random()) / MAX_RANDOM_VALUE);
>>  }
>>
>>  /* call PQexec() and exit() on failure */
>>
>>
>> --
>>   Gregory Stark
>>   EnterpriseDB          http://www.enterprisedb.com
>>
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 7: You can help support the PostgreSQL project by donating at
>>
>>                 http://www.postgresql.org/about/donate
>
> --
>   Bruce Momjian  <bruce@momjian.us>          http://momjian.us
>   EnterpriseDB                               http://www.enterprisedb.com
>
>   + If your life is a hard drive, Christ can be your backup. +

--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com


pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: Re: CREATE TABLE LIKE INCLUDING INDEXES support
Next
From: Bruce Momjian
Date:
Subject: Re: WIP: rewrite numeric division