Re: Silly bug in pgbench's random number generator

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Silly bug in pgbench's random number generator
Date: 2007-07-17 05:05:18
Message-ID: 200707170505.l6H55Ix10368@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(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

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

In response to

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2007-07-17 05:09:19 Re: Synchronous Commit Doc Patch
Previous Message Bruce Momjian 2007-07-17 05:04:07 Re: out of date url in developer faq