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]