}
/* a point on the boundary of a ring is not contained. */
- if (fabs(side) < 1e-12)
+ /* WAS: if (fabs(side) < 1e-12), see #852 */
+ if (side == 0.0)
{
if (isOnSegment(&seg1, &seg2, point) == 1)
{
}
/* a point on the boundary of a ring is not contained. */
- if (fabs(side) < 1e-12)
+ /* WAS: if (fabs(side) < 1e-12), see #852 */
+ if (side == 0.0)
{
if (isOnSegment(&seg1, &seg2, point) == 1)
{
-- #1482
select '#1482', ST_Srid('POINT(0 0)'::geography(point, 0)::geometry);
+-- #852
+select '#852',
+ st_intersects('POINT(0.5 0.5000000000001)'::geometry, 'POLYGON((0 0, 10 10, 1 0, 0 0))'::geometry),
+ st_intersects('POINT(0.6 0.6000000000001)'::geometry, 'POLYGON((0 0, 10 10, 1 0, 0 0))'::geometry),
+ st_intersects('POINT(0.5 0.500000000001)'::geometry, 'POLYGON((0 0, 1 1, 1 0, 0 0))'::geometry),
+ st_intersects('POINT(0.6 0.600000000001)'::geometry, 'POLYGON((0 0, 1 1, 1 0, 0 0))'::geometry),
+ st_intersects('POINT(0.600000000001 0.600000000001)'::geometry, 'POLYGON((0 0, 1 1, 1 0, 0 0))'::geometry),
+ st_intersects('POINT(0.5 0.5)'::geometry, 'POLYGON((0 0, 1 1, 1 0, 0 0))'::geometry);
+
-- Clean up
DELETE FROM spatial_ref_sys;