mirror of https://github.com/apache/lucene.git
LUCENE-6246: fix missed checks on PostingsEnum.POSITIONS
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1662129 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2cd3fb807d
commit
d59b1e944a
|
@ -860,7 +860,7 @@ public final class DirectPostingsFormat extends PostingsFormat {
|
||||||
// TODO: implement reuse
|
// TODO: implement reuse
|
||||||
// it's hairy!
|
// it's hairy!
|
||||||
|
|
||||||
if ((flags & PostingsEnum.POSITIONS) >= PostingsEnum.POSITIONS) {
|
if (PostingsEnum.featureRequested(flags, PostingsEnum.POSITIONS)) {
|
||||||
if (!hasPos) {
|
if (!hasPos) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1454,7 +1454,7 @@ public final class DirectPostingsFormat extends PostingsFormat {
|
||||||
public PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags) {
|
public PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags) {
|
||||||
// TODO: implement reuse
|
// TODO: implement reuse
|
||||||
// it's hairy!
|
// it's hairy!
|
||||||
if ((flags & PostingsEnum.POSITIONS) >= PostingsEnum.POSITIONS) {
|
if (PostingsEnum.featureRequested(flags, PostingsEnum.POSITIONS)) {
|
||||||
if (!hasPos) {
|
if (!hasPos) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -829,7 +829,7 @@ public final class MemoryPostingsFormat extends PostingsFormat {
|
||||||
@Override
|
@Override
|
||||||
public PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags) {
|
public PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags) {
|
||||||
|
|
||||||
if ((flags & PostingsEnum.POSITIONS) >= PostingsEnum.POSITIONS) {
|
if (PostingsEnum.featureRequested(flags, PostingsEnum.POSITIONS)) {
|
||||||
if (field.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
|
if (field.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -937,7 +937,7 @@ public final class CompressingTermVectorsReader extends TermVectorsReader implem
|
||||||
@Override
|
@Override
|
||||||
public final PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags) throws IOException {
|
public final PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags) throws IOException {
|
||||||
|
|
||||||
if ((flags & PostingsEnum.POSITIONS) >= PostingsEnum.POSITIONS) {
|
if (PostingsEnum.featureRequested(flags, PostingsEnum.POSITIONS)) {
|
||||||
if (positions == null && startOffsets == null)
|
if (positions == null && startOffsets == null)
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,7 +194,7 @@ public final class Lucene50PostingsReader extends PostingsReaderBase {
|
||||||
@Override
|
@Override
|
||||||
public PostingsEnum postings(FieldInfo fieldInfo, BlockTermState termState, Bits liveDocs, PostingsEnum reuse, int flags) throws IOException {
|
public PostingsEnum postings(FieldInfo fieldInfo, BlockTermState termState, Bits liveDocs, PostingsEnum reuse, int flags) throws IOException {
|
||||||
|
|
||||||
if ((flags & PostingsEnum.POSITIONS) < PostingsEnum.POSITIONS) {
|
if (PostingsEnum.featureRequested(flags, PostingsEnum.POSITIONS) == false) {
|
||||||
BlockDocsEnum docsEnum;
|
BlockDocsEnum docsEnum;
|
||||||
if (reuse instanceof BlockDocsEnum) {
|
if (reuse instanceof BlockDocsEnum) {
|
||||||
docsEnum = (BlockDocsEnum) reuse;
|
docsEnum = (BlockDocsEnum) reuse;
|
||||||
|
|
|
@ -235,7 +235,7 @@ class FreqProxFields extends Fields {
|
||||||
throw new IllegalArgumentException("liveDocs must be null");
|
throw new IllegalArgumentException("liveDocs must be null");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & PostingsEnum.POSITIONS) >= PostingsEnum.POSITIONS) {
|
if (PostingsEnum.featureRequested(flags, PostingsEnum.POSITIONS)) {
|
||||||
FreqProxPostingsEnum posEnum;
|
FreqProxPostingsEnum posEnum;
|
||||||
|
|
||||||
if (!terms.hasProx) {
|
if (!terms.hasProx) {
|
||||||
|
|
Loading…
Reference in New Issue