You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2016/03/02 21:02:18 UTC

[jira] [Created] (LUCENE-7061) fix remaining api issues with XYZPoint classes

Robert Muir created LUCENE-7061:
-----------------------------------

             Summary: fix remaining api issues with XYZPoint classes
                 Key: LUCENE-7061
                 URL: https://issues.apache.org/jira/browse/LUCENE-7061
             Project: Lucene - Core
          Issue Type: Bug
            Reporter: Robert Muir
         Attachments: LUCENE-7061.patch

There are still some major problems today:

XYZPoint.newRangeQuery has "brain damage" from variable length terms. nulls for open ranges make no sense: these are fixed-width types and instead you can use things like Integer.maxValue. Removing the nulls is safe, as we can just switch to primitive types instead of boxed types.

XYZPoint.newRangeQuery requires boolean arrays for inclusive/exclusive, but thats just more brain damage. If you want to exclude an integer, you just subtract 1 from it and other simple stuff.

For the apis, this means Instead of:
{code}
public static Query newRangeQuery(String field, Long lowerValue, boolean lowerInclusive, Long upperValue, boolean upperInclusive);
  
public static Query newMultiRangeQuery(String field, Long[] lowerValue, boolean lowerInclusive[], Long[] upperValue, boolean upperInclusive[]);
{code}

we have:

{code}
public static Query newRangeQuery(String field, long lowerValue, long upperValue);
public static Query newRangeQuery(String field, long[] lowerValue, long[] upperValue);
{code}

PointRangeQuery is horribly complex due to these nulls and boolean arrays, and need not be. Now it only works "inclusive" and is much simpler.

XYZPoint.newSetQuery throws IOException, just creating the query. This is very confusing and unnecessary (no i/o happens).

LatLonPoint's bounding box query is not inclusive like the other geo. And the test does not fail!

I also found a few missing checks here and there while cleaning up.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org