class PendingDeletes
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected SegmentCommitInfo |
info |
private Bits |
liveDocs |
(package private) boolean |
liveDocsInitialized |
protected int |
pendingDeleteCount |
private FixedBitSet |
writeableLiveDocs |
Constructor and Description |
---|
PendingDeletes(SegmentCommitInfo info) |
PendingDeletes(SegmentCommitInfo info,
Bits liveDocs,
boolean liveDocsInitialized) |
PendingDeletes(SegmentReader reader,
SegmentCommitInfo info) |
Modifier and Type | Method and Description |
---|---|
private boolean |
assertCheckLiveDocs(Bits bits,
int expectedLength,
int expectedDeleteCount) |
(package private) boolean |
delete(int docID)
Marks a document as deleted in this segment and return true if a document got actually deleted or
if the document was already deleted.
|
(package private) void |
dropChanges()
Resets the pending docs
|
(package private) int |
getDelCount()
Returns the number of deleted docs in the segment.
|
(package private) Bits |
getHardLiveDocs()
Returns a snapshot of the hard live docs.
|
(package private) Bits |
getLiveDocs()
Returns a snapshot of the current live docs.
|
protected FixedBitSet |
getMutableBits() |
(package private) boolean |
isFullyDeleted(IOSupplier<CodecReader> readerIOSupplier)
Returns
true iff the segment represented by this PendingDeletes is fully deleted |
(package private) boolean |
mustInitOnDelete()
Returns
true if we have to initialize this PendingDeletes before delete(int) ;
otherwise this PendingDeletes is ready to accept deletes. |
(package private) boolean |
needsRefresh(CodecReader reader)
Returns true if the given reader needs to be refreshed in order to see the latest deletes
|
(package private) int |
numDeletesToMerge(MergePolicy policy,
IOSupplier<CodecReader> readerIOSupplier) |
(package private) int |
numDocs()
Returns the number of live documents in this segment
|
protected int |
numPendingDeletes()
Returns the number of pending deletes that are not written to disk.
|
(package private) void |
onDocValuesUpdate(FieldInfo info,
DocValuesFieldUpdates.Iterator iterator)
Called for every field update for the given field at flush time
|
(package private) void |
onNewReader(CodecReader reader,
SegmentCommitInfo info)
Called once a new reader is opened for this segment ie.
|
java.lang.String |
toString() |
(package private) boolean |
verifyDocCounts(CodecReader reader) |
(package private) boolean |
writeLiveDocs(Directory dir)
Writes the live docs to disk and returns
true if any new docs were written. |
protected final SegmentCommitInfo info
private Bits liveDocs
private FixedBitSet writeableLiveDocs
protected int pendingDeleteCount
boolean liveDocsInitialized
PendingDeletes(SegmentReader reader, SegmentCommitInfo info)
PendingDeletes(SegmentCommitInfo info)
PendingDeletes(SegmentCommitInfo info, Bits liveDocs, boolean liveDocsInitialized)
protected FixedBitSet getMutableBits()
boolean delete(int docID) throws java.io.IOException
java.io.IOException
Bits getLiveDocs()
Bits getHardLiveDocs()
protected int numPendingDeletes()
void onNewReader(CodecReader reader, SegmentCommitInfo info) throws java.io.IOException
java.io.IOException
private boolean assertCheckLiveDocs(Bits bits, int expectedLength, int expectedDeleteCount)
void dropChanges()
public java.lang.String toString()
toString
in class java.lang.Object
boolean writeLiveDocs(Directory dir) throws java.io.IOException
true
if any new docs were written.java.io.IOException
boolean isFullyDeleted(IOSupplier<CodecReader> readerIOSupplier) throws java.io.IOException
true
iff the segment represented by this PendingDeletes
is fully deletedjava.io.IOException
void onDocValuesUpdate(FieldInfo info, DocValuesFieldUpdates.Iterator iterator) throws java.io.IOException
info
- the field info of the field that's updatediterator
- the values to applyjava.io.IOException
int numDeletesToMerge(MergePolicy policy, IOSupplier<CodecReader> readerIOSupplier) throws java.io.IOException
java.io.IOException
final boolean needsRefresh(CodecReader reader)
final int getDelCount()
final int numDocs()
boolean verifyDocCounts(CodecReader reader)
boolean mustInitOnDelete()
true
if we have to initialize this PendingDeletes before delete(int)
;
otherwise this PendingDeletes is ready to accept deletes. A PendingDeletes can be initialized
by providing it a reader via onNewReader(CodecReader, SegmentCommitInfo)
.