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;