From 033d6e43061ae90ced4ccff050bbf5e0f43d0fc9 Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Thu, 7 Feb 2013 12:06:56 +0100 Subject: [PATCH] don't use substraction for comparison if datatypes can overflow --- .../fielddata/fieldcomparator/GeoDistanceComparator.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/elasticsearch/index/fielddata/fieldcomparator/GeoDistanceComparator.java b/src/main/java/org/elasticsearch/index/fielddata/fieldcomparator/GeoDistanceComparator.java index 7183e3b43c9..331006f135d 100644 --- a/src/main/java/org/elasticsearch/index/fielddata/fieldcomparator/GeoDistanceComparator.java +++ b/src/main/java/org/elasticsearch/index/fielddata/fieldcomparator/GeoDistanceComparator.java @@ -105,7 +105,13 @@ public class GeoDistanceComparator extends FieldComparator { } else { distance1 = fixedSourceDistance.calculate(geoPoint.lat(), geoPoint.lon()); } - return (int) (distance1 - distance2); + if (distance1 < distance2) { + return -1; + } else if (distance1 == distance2) { + return 0; + } else { + return 1; + } } @Override