Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > OK, here is a much nicer patch. The fix is to do no rounding, but to
> > find the number of days before applying the factor adjustment.
>
> You have forgotten the problem of the factor not being exactly
> representable (eg, things like '10 days' * 0.1 not giving the expected
> result). Also, as coded this is subject to integer-overflow risks
> that weren't there before. That could be fixed, but it's still only
> addressing a subset of the problems. I don't think you can fix them
> all without rounding somewhere.
Well, the patch only multiplies by 30, so the interval would have to
span +5 million years to overflow. I don't see any reason to add
rounding until we get an actual query that needs it (and because
rounding is arbitrary). I think the proposed fix is the best we can do
at this time.
--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +