]> granicus.if.org Git - postgresql/commit
Fix an ancient error in dist_ps (distance from point to line segment), which
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 23 Jun 2009 16:25:02 +0000 (16:25 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 23 Jun 2009 16:25:02 +0000 (16:25 +0000)
commitb087b018a11f4bbff6eb2a7e3f6f30cc8d0a03c9
treea05cd75e2464defd2111e86dde0c591e02cdcc25
parent8d355d7bbfea045415afe66a30e321d4621cc1b9
Fix an ancient error in dist_ps (distance from point to line segment), which
a number of other geometric operators also depend on.  It miscalculated the
slope of the perpendicular to the given line segment anytime that slope was
other than 0, infinite, or +/-1.  In some cases the error would be masked
because the true closest point on the line segment was one of its endpoints
rather than the intersection point, but in other cases it could give an
arbitrarily bad answer.  Per bug #4872 from Nick Roosevelt.

Bug goes clear back to Berkeley days, so patch all supported branches.
Make a couple of cosmetic adjustments while at it.
src/backend/utils/adt/geo_ops.c