public interface IBTreeManager extends IIndexManager, IGISTLocalManager
BTree
,
HTree
, etc.
TODO GIST This interface was historically only for the local BTree
.
The GIST support has been pushed down into the IGISTLocalManager
. The
BTree
and IIndex
specific methods on this interface are a
mixture of convenience and support for scale-out and should eventually be
phased out of this interface. The interface itself could be renamed to
something along the lines of "IIndexLocalManager".Modifier and Type | Method and Description |
---|---|
IIndex |
getIndex(String name)
Return the unisolated view of the named index (the mutable view of the
live index object).
|
IIndex |
registerIndex(String name,
BTree btree)
Register a named index.
|
IIndex |
registerIndex(String name,
IndexMetadata indexMetadata)
Register a named index.
|
getIndex, isGroupCommit
addScheduledTask, destroy, getCollectPlatformStatistics, getCollectQueueStatistics, getExecutorService, getGlobalFileSystem, getGlobalRowStore, getGlobalRowStore, getHttpdPort, getLastCommitTime, getResourceLocator, getResourceLockService, getTempStore
getCounters
getIndexLocal, getUnisolatedIndex, register
dropIndex, indexNameScan, registerIndex
IIndex registerIndex(String name, BTree btree)
name
- The name that can be used to recover the index.btree
- The btree.getIndex(String)
.IndexExistsException
- if there is an index already registered under that name.IGISTManager.registerIndex(IndexMetadata)
,
IIndexManager.getIndex(String, long)
,
IGISTLocalManager.getIndexLocal(String, long)
IIndex registerIndex(String name, IndexMetadata indexMetadata)
This variant allows you to register an index under a name other than the
value returned by IndexMetadata.getName()
.
Note: This variant is generally by the IMetadataService
when it
needs to register a index partition of some scale-out index on a
IDataService
. In this case the name is the name of the
index partition while the value reported by
IndexMetadata.getName()
is the name of the scale-out index. In
nearly all other cases you can use IGISTManager.registerIndex(IndexMetadata)
instead. The same method signature is also declared by
IDataService.registerIndex(String, IndexMetadata)
in order to
support registration of index partitions.
Note: Due to the method signature, this method CAN NOT be used to create
and register persistence capable data structures other than an
IIndex
(aka B+Tree).
name
- The name that can be used to recover the index.indexMetadata
- The metadata describing the index.getIndex(String)
.IndexExistsException
- if there is an index already registered under that name.IIndexManager.getIndex(String, long)
,
FIXME GIST Due to the method signature, this method CAN NOT be used
to create and register persistence capable data structures other
than an {@link IIndex} (aka B+Tree). It is difficult to reconcile
this method with other method signatures since this method is
designed for scale-out and relies on {@link IIndex}. However, only
the B+Tree is an {@link IIndex}. Therefore, this method signature
can not be readily reconciled with the {@link HTree}. The only
interface which the {@link BTree} and {@link HTree} share is the
{@link ICheckpointProtocol} interface, but that is a purely local
(not remote) interface and is therefore not suitable to scale-out.
Also, it is only in scale-out where the returned object can be a
different type than the simple {@link BTree} class, e.g., a
{@link FusedView} or even an {@link IClientIndex}.
IIndex getIndex(String name)
name
- The name of the index.null
iff there
is no index registered with that name.IllegalArgumentException
- if name is null
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.