Return-Path: Delivered-To: apmail-jakarta-lucene-dev-archive@www.apache.org Received: (qmail 9774 invoked from network); 26 Mar 2004 21:56:38 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 26 Mar 2004 21:56:38 -0000 Received: (qmail 98678 invoked by uid 500); 26 Mar 2004 21:55:46 -0000 Delivered-To: apmail-jakarta-lucene-dev-archive@jakarta.apache.org Received: (qmail 98534 invoked by uid 500); 26 Mar 2004 21:55:46 -0000 Mailing-List: contact lucene-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Lucene Developers List" Reply-To: "Lucene Developers List" Delivered-To: mailing list lucene-dev@jakarta.apache.org Received: (qmail 98448 invoked by uid 500); 26 Mar 2004 21:55:45 -0000 Received: (qmail 98406 invoked from network); 26 Mar 2004 21:55:44 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 26 Mar 2004 21:55:44 -0000 Received: (qmail 9349 invoked by uid 1209); 26 Mar 2004 21:55:56 -0000 Date: 26 Mar 2004 21:55:56 -0000 Message-ID: <20040326215556.9348.qmail@minotaur.apache.org> From: cutting@apache.org To: jakarta-lucene-cvs@apache.org Subject: cvs commit: jakarta-lucene/src/java/org/apache/lucene/index SegmentTermDocs.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N cutting 2004/03/26 13:55:55 Modified: src/java/org/apache/lucene/index SegmentTermDocs.java Log: Fix for bug 27799. Revision Changes Path 1.8 +4 -4 jakarta-lucene/src/java/org/apache/lucene/index/SegmentTermDocs.java Index: SegmentTermDocs.java =================================================================== RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/index/SegmentTermDocs.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- SegmentTermDocs.java 24 Mar 2004 17:36:53 -0000 1.7 +++ SegmentTermDocs.java 26 Mar 2004 21:55:55 -0000 1.8 @@ -68,6 +68,7 @@ int freq; private int skipInterval; + private int numSkips; private int skipCount; private InputStream skipStream; private int skipDoc; @@ -107,6 +108,7 @@ doc = 0; skipDoc = 0; skipCount = 0; + numSkips = df / skipInterval; freqPointer = ti.freqPointer; proxPointer = ti.proxPointer; skipPointer = freqPointer + ti.skipOffset; @@ -192,15 +194,13 @@ long lastProxPointer = -1; int numSkipped = -1 - (count % skipInterval); - while (target > skipDoc) { + while (target > skipDoc && skipCount < numSkips) { lastSkipDoc = skipDoc; lastFreqPointer = freqPointer; lastProxPointer = proxPointer; + if (skipDoc != 0 && skipDoc >= doc) numSkipped += skipInterval; - - if ((count + numSkipped + skipInterval) >= df) - break; // no more skips skipDoc += skipStream.readVInt(); freqPointer += skipStream.readVInt(); --------------------------------------------------------------------- To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: lucene-dev-help@jakarta.apache.org