public class BOpContextBase extends Object
| Constructor and Description |
|---|
BOpContextBase(IBigdataFederation<?> fed,
IIndexManager localIndexManager)
Core constructor.
|
BOpContextBase(QueryEngine queryEngine) |
| Modifier and Type | Method and Description |
|---|---|
<E> IAccessPath<E> |
getAccessPath(IRelation<E> relation,
IPredicate<E> predicate)
Obtain an access path reading from the identified
IRelation using
the specified IPredicate. |
Executor |
getExecutorService()
Return the
Executor on to which the operator may submit tasks. |
IBigdataFederation<?> |
getFederation()
The
IBigdataFederation IFF the operator is being evaluated on an
IBigdataFederation and otherwise null. |
IIndexManager |
getIndexManager()
The local
IIndexManager. |
<E> IRelation<E> |
getRelation(IPredicate<E> pred)
Locate and return the view of the relation identified by the
IPredicate. |
ILocatableResource<?> |
getResource(String namespace,
long timestamp)
Locate and return the view of the identified relation.
|
public BOpContextBase(QueryEngine queryEngine)
public BOpContextBase(IBigdataFederation<?> fed, IIndexManager localIndexManager)
fed - The federation iff running in scale-out.localIndexManager - The local index manager.public final IIndexManager getIndexManager()
IIndexManager. Query evaluation occurs
against the local indices. In scale-out, query evaluation proceeds
shard-wise and this IIndexManager MUST be able to read on the
ILocalBTreeView.public final IBigdataFederation<?> getFederation()
IBigdataFederation IFF the operator is being evaluated on an
IBigdataFederation and otherwise null. When
evaluating operations against an IBigdataFederation, this
reference provides access to the scale-out view of the indices and to
other bigdata services.public final Executor getExecutorService()
Executor on to which the operator may submit tasks.
Note: The is the ExecutorService associated with the
local index manager.
public <E> IRelation<E> getRelation(IPredicate<E> pred)
IPredicate.pred - The IPredicate, which MUST be a tail from some
IRule.IRelation -or- null if the relation did
not exist for that timestamp.public ILocatableResource<?> getResource(String namespace, long timestamp)
namespace - The namespace of the relation.timestamp - The timestamp of the view of that relation.ILocatableResource -or- null if the
relation did not exist for that timestamp.public <E> IAccessPath<E> getAccessPath(IRelation<E> relation, IPredicate<E> predicate)
IRelation using
the specified IPredicate.
Note: Passing in the IRelation is important since it otherwise
must be discovered using the IResourceLocator. By requiring the
caller to resolve it before hand and pass it into this method the
contention and demand on the IResourceLocator cache is reduced.
Note: You MUST be extremely careful when using expanders with a local access path for a shared-partitioned or hash-partitioned index. Only expanders whose semantics remain valid with a partial view of the index will behave as expected. Here are some examples that DO NOT work:
relation - The relation.pred - The predicate. When IPredicate.getPartitionId() is
set, the returned IAccessPath MUST read on the
identified local index partition (directly, not via RMI).Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.