Re: [HACKERS] regressin failure on latest CVS

From: "Rocco Altier" <RoccoA(at)Routescape(dot)com>
To: "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: "Michael Glaesemann" <grzm(at)myrealbox(dot)com>, <pgsql-patches(at)postgresql(dot)org>, <ohp(at)pyrenet(dot)fr>
Subject: Re: [HACKERS] regressin failure on latest CVS
Date: 2005-07-23 19:06:47
Message-ID: 6E0907A94904D94B99D7F387E08C4F5730ECA9@FALCON.INSIGHT
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

That still does not fix it for me.

This patch is still using a computed float value (month_remainder and
day_remainder), which is cauing the rounding errors.

There are now 6 machines on the build farm that are failing from the
rounding:
Wallaroo (OSX/G4), asp(AIX/powerpc), viper(FC3/x86_64),
platypus(FBSD/amd64), kookaburra(AIX/powerpc), oriole(FC4/x86).

All of these are using enable-integer-datetimes.

What was wrong with the patch I sent? I am doing as much as I can with
integer math.

-rocco

> -----Original Message-----
> From: Bruce Momjian [mailto:pgman(at)candle(dot)pha(dot)pa(dot)us]
> Sent: Saturday, July 23, 2005 2:51 PM
> To: Rocco Altier
> Cc: Michael Glaesemann; pgsql-patches(at)postgresql(dot)org; ohp(at)pyrenet(dot)fr
> Subject: Re: [HACKERS] regressin failure on latest CVS
>
>
>
> Would you please try the attached patch and let me know if it
> fixes the
> problem? I avoided accumulating into a float8.
>
> --------------------------------------------------------------
> -------------
>
> Rocco Altier wrote:
> > This still does not fix the problem.
> >
> > I had done my patch to try to mimic the way 8.0 had handled the math
> > with the remainders, but to carry it over another bucket (day).
> >
> > The problem that I see is that we are taking day_remainder and
> > multiplying by USECS_PER_DAY. Which is a double * int64,
> thus there is
> > the precision loss there.
> >
> > I think initial division by the factor can't be helped, but
> repeatedly
> > doing more floating point math on with it is causing the
> rounding error.
> >
> > Thanks,
> > -rocco
> >
> > > -----Original Message-----
> > > From: Bruce Momjian [mailto:pgman(at)candle(dot)pha(dot)pa(dot)us]
> > > Sent: Saturday, July 23, 2005 10:54 AM
> > > To: Rocco Altier
> > > Cc: Michael Glaesemann; pgsql-patches(at)postgresql(dot)org;
> > > pgsql-hackers(at)postgresql(dot)org; ohp(at)pyrenet(dot)fr
> > > Subject: Re: [HACKERS] regressin failure on latest CVS
> > >
> > >
> > > Rocco Altier wrote:
> > > > This patch fixes the interval regression on my AIX box
> > > (kookaburra) by
> > > > only doing integer math on the interval, instead of
> > > float/double math.
> > > >
> > > > I think this is the correct way to handle this, since it's
> > > an integer
> > > > data type.
> > > >
> > > > I don't know if it will fix Olivier's problem, since I
> > > wasn't able to
> > > > reproduce it.
> > > >
> > >
> > > I have changed the way I compute the remainder values ---
> instead of
> > > using multiplication, I use division and then subtraction.
> > > This should
> > > fix your rounding problem. Looking at your fix, I don't see
> > > how adding
> > > USECS changes things because the factor is already a float,
> > > but I think
> > > the problem was more the way I was computing the remainders.
> > >
> > > Patch attached --- let me know if it does not fix your problem.
> > >
> > > --------------------------------------------------------------
> >
> >
> > ---------------------------(end of
> broadcast)---------------------------
> > TIP 2: Don't 'kill -9' the postmaster
> >
>
> --
> Bruce Momjian | http://candle.pha.pa.us
> pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
> + If your life is a hard drive, | 13 Roberts Road
> + Christ can be your backup. | Newtown Square,
> Pennsylvania 19073
>

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2005-07-23 19:35:35 Re: [HACKERS] regressin failure on latest CVS
Previous Message Bruce Momjian 2005-07-23 19:01:10 Re: For review: Server instrumentation patch