public abstract class NativeComparatorWrapper extends AbstractComparator
nativeHandle_
owningHandle_
Constructor and Description |
---|
NativeComparatorWrapper() |
Modifier and Type | Method and Description |
---|---|
int |
compare(java.nio.ByteBuffer s1,
java.nio.ByteBuffer s2)
Three-way key comparison.
|
protected void |
disposeInternal()
We override
RocksCallbackObject.disposeInternal()
as disposing of a native rocksdb::Comparator extension requires
a slightly different approach as it is not really a RocksCallbackObject |
void |
findShortestSeparator(java.nio.ByteBuffer start,
java.nio.ByteBuffer limit)
Used to reduce the space requirements
for internal data structures like index blocks.
|
void |
findShortSuccessor(java.nio.ByteBuffer key)
Used to reduce the space requirements
for internal data structures like index blocks.
|
java.lang.String |
name()
The name of the comparator.
|
initializeNative, usingDirectBuffers
close, disOwnNativeHandle, isOwningHandle
dispose, finalize
public final java.lang.String name()
AbstractComparator
name
in class AbstractComparator
public final int compare(java.nio.ByteBuffer s1, java.nio.ByteBuffer s2)
AbstractComparator
ByteBuffer
s passed in, though
it would be unconventional to modify the "limit" or any of the
underlying bytes. As a callback, RocksJava will ensure that a
is a different instance from b
.compare
in class AbstractComparator
s1
- buffer containing the first key in its "remaining" elementss2
- buffer containing the second key in its "remaining" elementspublic final void findShortestSeparator(java.nio.ByteBuffer start, java.nio.ByteBuffer limit)
AbstractComparator
Used to reduce the space requirements for internal data structures like index blocks.
If start < limit, you may modify start which is a shorter string in [start, limit).
If you modify start, it is expected that you set the byte buffer so that a subsequent read of start.remaining() bytes from start.position() to start.limit() will obtain the new start value.Simple comparator implementations may return with start unchanged. i.e., an implementation of this method that does nothing is correct.
findShortestSeparator
in class AbstractComparator
start
- the startlimit
- the limitpublic final void findShortSuccessor(java.nio.ByteBuffer key)
AbstractComparator
Used to reduce the space requirements for internal data structures like index blocks.
You may change key to a shorter key (key1) where key1 ≥ key.
Simple comparator implementations may return the key unchanged. i.e., an implementation of this method that does nothing is correct.
findShortSuccessor
in class AbstractComparator
key
- the keyprotected void disposeInternal()
RocksCallbackObject.disposeInternal()
as disposing of a native rocksdb::Comparator extension requires
a slightly different approach as it is not really a RocksCallbackObjectdisposeInternal
in class RocksCallbackObject