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.