[
https://issues.apache.org/jira/browse/JCR-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jukka Zitting updated JCR-1302:
-------------------------------
Component/s: jackrabbit-core
Affects Version/s: (was: 1.4)
I guess we didn't have this before JCR-1041, so the fix doesn't need to be
applied to the 1.3 branch. But it would be good to have this in 1.4.
> 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.