public class OSBTreeIndexEngine extends Object implements OIndexEngine
OBaseIndexEngine.Validator<K,V>, OBaseIndexEngine.ValuesTransformer
Modifier and Type | Field and Description |
---|---|
static String |
DATA_FILE_EXTENSION |
static String |
NULL_BUCKET_FILE_EXTENSION |
static int |
VERSION |
Constructor and Description |
---|
OSBTreeIndexEngine(String name,
OAbstractPaginatedStorage storage,
int version) |
Modifier and Type | Method and Description |
---|---|
boolean |
acquireAtomicExclusiveLock(Object key)
Acquires exclusive lock in the active atomic operation running on the current thread for this index engine.
|
void |
clear(OAtomicOperation atomicOperation) |
void |
close() |
boolean |
contains(Object key) |
void |
create(OAtomicOperation atomicOperation,
OBinarySerializer valueSerializer,
boolean isAutomatic,
OType[] keyTypes,
boolean nullPointerSupport,
OBinarySerializer keySerializer,
int keySize,
Set<String> clustersToIndex,
Map<String,String> engineProperties,
ODocument metadata,
OEncryption encryption) |
OIndexCursor |
cursor(OBaseIndexEngine.ValuesTransformer valuesTransformer) |
void |
delete(OAtomicOperation atomicOperation) |
void |
deleteWithoutLoad(OAtomicOperation atomicOperation,
String indexName) |
OIndexCursor |
descCursor(OBaseIndexEngine.ValuesTransformer valuesTransformer) |
void |
flush() |
Object |
get(Object key) |
Object |
getFirstKey() |
String |
getIndexNameByKey(Object key) |
Object |
getLastKey() |
String |
getName() |
int |
getVersion() |
boolean |
hasRangeQuerySupport() |
void |
init(String indexName,
String indexType,
OIndexDefinition indexDefinition,
boolean isAutomatic,
ODocument metadata) |
OIndexCursor |
iterateEntriesBetween(Object rangeFrom,
boolean fromInclusive,
Object rangeTo,
boolean toInclusive,
boolean ascSortOrder,
OBaseIndexEngine.ValuesTransformer transformer) |
OIndexCursor |
iterateEntriesMajor(Object fromKey,
boolean isInclusive,
boolean ascSortOrder,
OBaseIndexEngine.ValuesTransformer transformer) |
OIndexCursor |
iterateEntriesMinor(Object toKey,
boolean isInclusive,
boolean ascSortOrder,
OBaseIndexEngine.ValuesTransformer transformer) |
OIndexKeyCursor |
keyCursor() |
void |
load(String indexName,
OBinarySerializer valueSerializer,
boolean isAutomatic,
OBinarySerializer keySerializer,
OType[] keyTypes,
boolean nullPointerSupport,
int keySize,
Map<String,String> engineProperties,
OEncryption encryption) |
void |
put(OAtomicOperation atomicOperation,
Object key,
Object value) |
boolean |
remove(OAtomicOperation atomicOperation,
Object key) |
long |
size(OBaseIndexEngine.ValuesTransformer transformer) |
void |
update(OAtomicOperation atomicOperation,
Object key,
OIndexKeyUpdater<Object> updater) |
boolean |
validatedPut(OAtomicOperation atomicOperation,
Object key,
ORID value,
OBaseIndexEngine.Validator<Object,ORID> validator)
Puts the given value under the given key into this index engine.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEngineAPIVersion
public static final int VERSION
public static final String DATA_FILE_EXTENSION
public static final String NULL_BUCKET_FILE_EXTENSION
public OSBTreeIndexEngine(String name, OAbstractPaginatedStorage storage, int version)
public void init(String indexName, String indexType, OIndexDefinition indexDefinition, boolean isAutomatic, ODocument metadata)
init
in interface OBaseIndexEngine
public String getName()
getName
in interface OBaseIndexEngine
public void flush()
flush
in interface OBaseIndexEngine
public void create(OAtomicOperation atomicOperation, OBinarySerializer valueSerializer, boolean isAutomatic, OType[] keyTypes, boolean nullPointerSupport, OBinarySerializer keySerializer, int keySize, Set<String> clustersToIndex, Map<String,String> engineProperties, ODocument metadata, OEncryption encryption)
create
in interface OBaseIndexEngine
public void delete(OAtomicOperation atomicOperation)
delete
in interface OBaseIndexEngine
public void deleteWithoutLoad(OAtomicOperation atomicOperation, String indexName)
deleteWithoutLoad
in interface OBaseIndexEngine
public void load(String indexName, OBinarySerializer valueSerializer, boolean isAutomatic, OBinarySerializer keySerializer, OType[] keyTypes, boolean nullPointerSupport, int keySize, Map<String,String> engineProperties, OEncryption encryption)
load
in interface OIndexEngine
public boolean contains(Object key)
contains
in interface OBaseIndexEngine
public boolean remove(OAtomicOperation atomicOperation, Object key)
remove
in interface OBaseIndexEngine
public int getVersion()
getVersion
in interface OBaseIndexEngine
public void clear(OAtomicOperation atomicOperation)
clear
in interface OBaseIndexEngine
public void close()
close
in interface OBaseIndexEngine
public Object get(Object key)
get
in interface OBaseIndexEngine
public OIndexCursor cursor(OBaseIndexEngine.ValuesTransformer valuesTransformer)
cursor
in interface OBaseIndexEngine
public OIndexCursor descCursor(OBaseIndexEngine.ValuesTransformer valuesTransformer)
descCursor
in interface OBaseIndexEngine
public OIndexKeyCursor keyCursor()
keyCursor
in interface OBaseIndexEngine
public void put(OAtomicOperation atomicOperation, Object key, Object value)
put
in interface OIndexEngine
public void update(OAtomicOperation atomicOperation, Object key, OIndexKeyUpdater<Object> updater)
update
in interface OIndexEngine
public boolean validatedPut(OAtomicOperation atomicOperation, Object key, ORID value, OBaseIndexEngine.Validator<Object,ORID> validator)
OIndexEngine
validatedPut
in interface OIndexEngine
key
- the key to put the value under.value
- the value to put.validator
- the operation validator.true
if the validator allowed the put, false
otherwise.Validator#validate(Object, Object, Object)
public Object getFirstKey()
getFirstKey
in interface OBaseIndexEngine
public Object getLastKey()
getLastKey
in interface OBaseIndexEngine
public OIndexCursor iterateEntriesBetween(Object rangeFrom, boolean fromInclusive, Object rangeTo, boolean toInclusive, boolean ascSortOrder, OBaseIndexEngine.ValuesTransformer transformer)
iterateEntriesBetween
in interface OBaseIndexEngine
public OIndexCursor iterateEntriesMajor(Object fromKey, boolean isInclusive, boolean ascSortOrder, OBaseIndexEngine.ValuesTransformer transformer)
iterateEntriesMajor
in interface OBaseIndexEngine
public OIndexCursor iterateEntriesMinor(Object toKey, boolean isInclusive, boolean ascSortOrder, OBaseIndexEngine.ValuesTransformer transformer)
iterateEntriesMinor
in interface OBaseIndexEngine
public long size(OBaseIndexEngine.ValuesTransformer transformer)
size
in interface OBaseIndexEngine
public boolean hasRangeQuerySupport()
hasRangeQuerySupport
in interface OBaseIndexEngine
public boolean acquireAtomicExclusiveLock(Object key)
OBaseIndexEngine
Acquires exclusive lock in the active atomic operation running on the current thread for this index engine.
If this index engine supports a more narrow locking, for example key-based sharding, it may use the provided key
to
infer a more narrow lock scope, but that is not a requirement.
acquireAtomicExclusiveLock
in interface OBaseIndexEngine
key
- the index key to lock.true
if this index was locked entirely, false
if this index locking is sensitive to the provided key
and only some subset of this index was locked.public String getIndexNameByKey(Object key)
getIndexNameByKey
in interface OBaseIndexEngine
Copyright © 2009–2020 OrientDB. All rights reserved.