You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (JIRA)" <ji...@apache.org> on 2016/05/08 05:55:12 UTC

[jira] [Created] (SOLR-9085) DateRangeField is broken before the year 1582

David Smiley created SOLR-9085:
----------------------------------

             Summary: DateRangeField is broken before the year 1582
                 Key: SOLR-9085
                 URL: https://issues.apache.org/jira/browse/SOLR-9085
             Project: Solr
          Issue Type: Bug
    Affects Versions: 6.0
            Reporter: David Smiley
            Assignee: David Smiley
             Fix For: 6.1


DateRangeField has some issues for dates before 1582 (the Gregorian Change Date), following Solr 6.  The main problem is that it uses DateMathParser which no longer observes a GCD and then it converts that Date to a Calendar using Calendar.setTime(date) which considers the GCD.  We can't altogether avoid Calendar.java as in SOLR-9080 because DateRangePrefixTree currently fundamentally depends on it.  However I recently learned we can simply change the GCD like so: {{cal.setGregorianChange(new Date(Long.MIN_VALUE));}} beforehand.  DateRangeField also calls Calendar.getTime as well, which is affected by GCD considerations.

For users that use DateRangeField but do *not* use "Date Math" and do not have 'Z' in their date strings then date strings are completely parsed by DateRangePrefixTree and there should be no issue.

DateRangePrefixTree ought to be improved a bit too (in a separate issue)... like making the GCD configurable, and setting using SimpleDateFormatter.setCalendar it uses to format.



--
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