public interface IIndex extends ISimpleBTree, IAutoboxBTree, IRangeQuery, IIndexLocalCounter, ICounterSetAccess
Interface for mutable B+-Tree mapping arbitrary non-null keys to arbitrary values.
|Modifier and Type||Method and Description|
Return performance counters.
The metadata for the index.
The description of the resources comprising the index view.
The procedure will be transparently applied against each index partition spanned by the given key range.
Submits an index procedure that operations on a single key to the appropriate index partition returning the result of that procedure.
Runs a procedure against an index.
contains, insert, lookup, putIfAbsent, remove
contains, insert, lookup, remove
rangeCount, rangeCount, rangeCountExact, rangeCountExactWithDeleted, rangeIterator, rangeIterator, rangeIterator
Note: The same method is exposed by
ICheckpointProtocol. It is
also exposed here in order to provide access to the
to remote clients in the scale-out architecture.
Interesting performance counters and other statistics about the index.
<T> T submit(byte key, ISimpleIndexProcedure<T> proc)
key- The key.
proc- The procedure.
void submit(byte fromKey, byte toKey, IKeyRangeIndexProcedure proc, IResultHandler handler)
Note: Since this variant of submit() does not split keys the
fromIndex and toIndex in the
Splits reported to
IResultHandler will be zero (0).
fromKey- The lower bound (inclusive) -or-
nullif there is no lower bound.
toKey- The upper bound (exclusive) -or-
nullif there is no upper bound.
proc- The procedure. If the procedure implements the
IParallelizableIndexProceduremarker interface then it MAY be executed in parallel against the relevant index partition(s).
resultHandler- When defined, results from each procedure application will be reported to this object.
void submit(int fromIndex, int toIndex, byte keys, byte vals, AbstractKeyArrayIndexProcedureConstructor ctor, IResultHandler resultHandler)
Note: This may be used to send custom logic together with the data to a
remote index or index partition. When the index is remote both the
procedure and the return value MUST be
Note: The scale-out indices add support for auto-split of the procedure such that it runs locally against each relevant index partition.
fromIndex- The index of the first key to be used (inclusive).
toIndex- The index of the last key to be used (exclusive).
keys- The keys (required).
vals- The values (optional depending on the procedure).
ctor- An object that can create instances of the procedure.
resultHandler- When defined, results from each procedure application will be reported to this object. TODO In order to allow parallelization within a shard, we need to modify this method signature to pass in an
IResultHandlerconstructor object. That might be something which could be pushed down onto the ctor argument. It would be used in scale-out to create a DS local result handler so we can locally aggregate when parallelizing against each shard and then return that aggregated result to the client which would extract the aggregate result across the shards from the client's result handler. See BLZG-1537.
(Schedule more IOs when loading data)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.