SegmentTermEnum.next() doesn't maintain prevBuffer at end ---------------------------------------------------------
Key: LUCENE-508 URL: http://issues.apache.org/jira/browse/LUCENE-508 Project: Lucene - Java Type: Bug Components: Index Versions: 1.9, 2.0 Environment: Lucene Trunk Reporter: Steven Tamm When you're iterating a SegmentTermEnum and you go past the end of the docs, you end up with a state where the nextBuffer = null and the prevBuffer is the penultimate term, not the last term. This patch fixes it. (It's also required for my Prefetching bug [LUCENE-506]) Index: java/org/apache/lucene/index/SegmentTermEnum.java =================================================================== --- java/org/apache/lucene/index/SegmentTermEnum.java (revision 382121) +++ java/org/apache/lucene/index/SegmentTermEnum.java (working copy) @@ -109,6 +109,7 @@ /** Increments the enumeration to the next element. True if one exists.*/ public final boolean next() throws IOException { if (position++ >= size - 1) { + prevBuffer.set(termBuffer); termBuffer.reset(); return false; } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]