You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2011/01/06 02:03:00 UTC

svn commit: r1055695 - in /lucene/dev/trunk/lucene/src/java/org/apache/lucene: index/IndexReader.java search/IndexSearcher.java

Author: yonik
Date: Thu Jan  6 01:03:00 2011
New Revision: 1055695

URL: http://svn.apache.org/viewvc?rev=1055695&view=rev
Log:
LUCENE-2831: fix isTopLevel

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexReader.java
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexReader.java?rev=1055695&r1=1055694&r2=1055695&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexReader.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexReader.java Thu Jan  6 01:03:00 2011
@@ -1471,13 +1471,13 @@ public abstract class IndexReader implem
     public final int ordInParent;
     
     ReaderContext(ReaderContext parent, IndexReader reader,
-        boolean isAtomic, boolean isTopLevel, int ordInParent, int docBaseInParent) {
+        boolean isAtomic, int ordInParent, int docBaseInParent) {
       this.parent = parent;
       this.reader = reader;
       this.isAtomic = isAtomic;
       this.docBaseInParent = docBaseInParent;
       this.ordInParent = ordInParent;
-      this.isTopLevel = isTopLevel;
+      this.isTopLevel = parent==null;
     }
     
     /**
@@ -1533,7 +1533,7 @@ public abstract class IndexReader implem
     private CompositeReaderContext(ReaderContext parent, IndexReader reader,
         int ordInParent, int docbaseInParent, ReaderContext[] children,
         AtomicReaderContext[] leaves) {
-      super(parent, reader, false, leaves != null, ordInParent, docbaseInParent);
+      super(parent, reader, false, ordInParent, docbaseInParent);
       this.children = children;
       this.leaves = leaves;
     }
@@ -1561,15 +1561,10 @@ public abstract class IndexReader implem
     public final int docBase;
     /**
      * Creates a new {@link AtomicReaderContext} 
-     */
+     */    
     public AtomicReaderContext(ReaderContext parent, IndexReader reader,
         int ord, int docBase, int leafOrd, int leafDocBase) {
-     this(parent, reader, ord, docBase, leafOrd, leafDocBase, false);
-    }
-    
-    private AtomicReaderContext(ReaderContext parent, IndexReader reader,
-        int ord, int docBase, int leafOrd, int leafDocBase, boolean topLevel) {
-      super(parent, reader, true, topLevel,  ord, docBase);
+      super(parent, reader, true, ord, docBase);
       assert reader.getSequentialSubReaders() == null : "Atomic readers must not have subreaders";
       this.ord = leafOrd;
       this.docBase = leafDocBase;
@@ -1580,7 +1575,7 @@ public abstract class IndexReader implem
      * parent.
      */
     public AtomicReaderContext(IndexReader atomicReader) {
-      this(null, atomicReader, 0, 0, 0, 0, true); // toplevel!!
+      this(null, atomicReader, 0, 0, 0, 0);
     }
   }
 }

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java?rev=1055695&r1=1055694&r2=1055695&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/IndexSearcher.java Thu Jan  6 01:03:00 2011
@@ -153,10 +153,7 @@ public class IndexSearcher {
   }
 
   private IndexSearcher(ReaderContext context, boolean closeReader, ExecutorService executor) {
-    // TODO: eable this assert once SolrIndexReader and friends are refactored to use ReaderContext
-    // We can't assert this here since SolrIndexReader will fail in some contexts - once solr is consistent we should be fine here
-    // Lucene instead passes all tests even with this assert!
-    // assert context.isTopLevel: "IndexSearcher's ReaderContext must be topLevel for reader" + context.reader;
+    assert context.isTopLevel: "IndexSearcher's ReaderContext must be topLevel for reader" + context.reader;
     reader = context.reader;
     this.executor = executor;
     this.closeReader = closeReader;