You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2008/01/10 13:25:34 UTC

[jira] Resolved: (JCR-1302) ArrayHits does not end properly when skipTo doesn't find document

     [ https://issues.apache.org/jira/browse/JCR-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved JCR-1302.
--------------------------------

    Resolution: Fixed

Suggested fix (and a test case) committed by Christoph in revisions 610717 and 610719.

Merged to the 1.4 branch in revision 610770.

> ArrayHits does not end properly when skipTo doesn't find document
> -----------------------------------------------------------------
>
>                 Key: JCR-1302
>                 URL: https://issues.apache.org/jira/browse/JCR-1302
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core, query
>            Reporter: Rob Owen
>            Assignee: Christoph Kiehl
>             Fix For: 1.4
>
>
> If skipTo(target) does not find a document that that has a higher value than the target, it falls out of the loop and calls next() possibly returning a previously found document. The patch makes sure that -1 is returned in this case, otherwise confusing results might occur.
> Index: src/main/java/org/apache/jackrabbit/core/query/lucene/hits/ArrayHits.java
> ===================================================================
> --- src/main/java/org/apache/jackrabbit/core/query/lucene/hits/ArrayHits.java	(revision 608900)
> +++ src/main/java/org/apache/jackrabbit/core/query/lucene/hits/ArrayHits.java	(working copy)
> @@ -87,9 +87,9 @@
>              int nextDocValue = hits[i];
>              if (nextDocValue >= target) {
>                  index = i;
> -                break;
> +                return next();
>              }
>          }
> -        return next();
> +        return -1;
>      }
>  }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.