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

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

There wasn't agreement on how it should be fixed, it is a minor bug, and
as you said, we should be focusing on the significant outstanding
patches submitted before feature freeze.

---------------------------------------------------------------------------


>
>
> "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

--
  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. +

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Silly bug in pgbench's random number generator
Next
From: Bruce Momjian
Date:
Subject: Re: Synchronous Commit Doc Patch