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.