P - The type of the Parent Object from which the Rocks Iterator was
created. This is used by disposeInternal to avoid double-free
issues with the underlying C++ object.public abstract class AbstractRocksIterator<P extends RocksObject> extends RocksObject implements RocksIteratorInterface
Multiple threads can invoke const methods on an RocksIterator without external synchronization, but if any of the threads may call a non-const method, all threads accessing the same RocksIterator must use external synchronization.
RocksObjectnativeHandle_owningHandle_| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractRocksIterator(P parent,
long nativeHandle) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
disposeInternal()
Deletes underlying C++ iterator pointer.
|
boolean |
isValid()
An iterator is either positioned at an entry, or
not valid.
|
void |
next()
Moves to the next entry in the source.
|
void |
prev()
Moves to the previous entry in the source.
|
void |
refresh()
If supported, renew the iterator to represent the latest state.
|
void |
seek(byte[] target)
Position at the first entry in the source whose key is at or
past target.
|
void |
seek(java.nio.ByteBuffer target)
Position at the first entry in the source whose key is that or
past target.
|
void |
seekForPrev(byte[] target)
Position at the first entry in the source whose key is that or
before target.
|
void |
seekForPrev(java.nio.ByteBuffer target)
Position at the last key that is less than or equal to the target key.
|
void |
seekToFirst()
Position at the first entry in the source.
|
void |
seekToLast()
Position at the last entry in the source.
|
void |
status()
If an error has occurred, return it.
|
disposeInternal, getNativeHandleclose, disOwnNativeHandle, isOwningHandleprotected AbstractRocksIterator(P parent, long nativeHandle)
public boolean isValid()
RocksIteratorInterfaceAn iterator is either positioned at an entry, or not valid. This method returns true if the iterator is valid.
isValid 在接口中 RocksIteratorInterfacepublic void seekToFirst()
RocksIteratorInterfacePosition at the first entry in the source. The iterator is Valid() after this call if the source is not empty.
seekToFirst 在接口中 RocksIteratorInterfacepublic void seekToLast()
RocksIteratorInterfacePosition at the last entry in the source. The iterator is valid after this call if the source is not empty.
seekToLast 在接口中 RocksIteratorInterfacepublic void seek(byte[] target)
RocksIteratorInterfacePosition at the first entry in the source whose key is at or past target.
The iterator is valid after this call if the source contains a key that comes at or past target.
seek 在接口中 RocksIteratorInterfacetarget - byte array describing a key or a
key prefix to seek for.public void seekForPrev(byte[] target)
RocksIteratorInterfacePosition at the first entry in the source whose key is that or before target.
The iterator is valid after this call if the source contains a key that comes at or before target.
seekForPrev 在接口中 RocksIteratorInterfacetarget - byte array describing a key or a
key prefix to seek for.public void seek(java.nio.ByteBuffer target)
RocksIteratorInterfacePosition at the first entry in the source whose key is that or past target.
The iterator is valid after this call if the source contains a key that comes at or past target.
seek 在接口中 RocksIteratorInterfacetarget - byte array describing a key or a
key prefix to seek for. Supports direct buffer only.public void seekForPrev(java.nio.ByteBuffer target)
RocksIteratorInterfacePosition at the last key that is less than or equal to the target key.
The iterator is valid after this call if the source contains a key that comes at or past target.
seekForPrev 在接口中 RocksIteratorInterfacetarget - byte array describing a key or a
key prefix to seek for. Supports direct buffer only.public void next()
RocksIteratorInterfaceMoves to the next entry in the source. After this call, Valid() is true if the iterator was not positioned at the last entry in the source.
REQUIRES: RocksIteratorInterface.isValid()
next 在接口中 RocksIteratorInterfacepublic void prev()
RocksIteratorInterfaceMoves to the previous entry in the source. After this call, Valid() is true if the iterator was not positioned at the first entry in source.
REQUIRES: RocksIteratorInterface.isValid()
prev 在接口中 RocksIteratorInterfacepublic void refresh()
throws RocksDBException
RocksIteratorInterfaceIf supported, renew the iterator to represent the latest state. The iterator will be
invalidated after the call. Not supported if ReadOptions.setSnapshot(Snapshot) was
specified when creating the iterator.
refresh 在接口中 RocksIteratorInterfaceRocksDBException - thrown if the operation is not supported or an error happens in the
underlying native librarypublic void status()
throws RocksDBException
RocksIteratorInterfaceIf an error has occurred, return it. Else return an ok status. If non-blocking IO is requested and this operation cannot be satisfied without doing some IO, then this returns Status::Incomplete().
status 在接口中 RocksIteratorInterfaceRocksDBException - thrown if error happens in underlying
native library.protected void disposeInternal()
Deletes underlying C++ iterator pointer.
Note: the underlying handle can only be safely deleted if the parent
instance related to a certain RocksIterator is still valid and initialized.
Therefore disposeInternal() checks if the parent is initialized
before freeing the native handle.
disposeInternal 在类中 RocksObject