Re: Silly bug in pgbench's random number generator

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>
Cc: "pgsql-patches" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Silly bug in pgbench's random number generator
Date: 2007-07-17 05:03:29
Message-ID: 87644jei5a.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


Uhm, this is a one-line *bug fix*.

"Bruce Momjian" <bruce(at)momjian(dot)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(at)momjian(dot)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

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2007-07-17 05:03:40 Re: CREATE TABLE LIKE INCLUDING INDEXES support
Previous Message Bruce Momjian 2007-07-17 04:50:23 Re: Silly bug in pgbench's random number generator