|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.bigdata.relation.RelationFusedView<E>
E - public class RelationFusedView<E>
A factory for fused views reading from both of the source IRelations.
| Constructor Summary | |
|---|---|
RelationFusedView(IRelation<E> relation1,
IRelation<E> relation2)
|
|
| Method Summary | |
|---|---|
IAccessPath<E> |
getAccessPath(IPredicate<E> predicate)
Return the best IAccessPath for a relation given a predicate with
zero or more unbound variables. |
String |
getContainerNamespace()
Not implemented for a fused view. |
Class<E> |
getElementClass()
Return the class for the generic type of this relation. |
ExecutorService |
getExecutorService()
The service used to run asynchronous or parallel tasks for the IRelation. |
IIndexManager |
getIndexManager()
The IIndexManager for the first relation in the view. |
Set<String> |
getIndexNames()
Return the fully qualified name of each index maintained by this relation. |
String |
getNamespace()
Not implemented for a fused view. |
IRelation<E> |
getRelation1()
|
IRelation<E> |
getRelation2()
|
long |
getTimestamp()
Not implemented for a fused view. |
E |
newElement(IPredicate<E> predicate,
IBindingSet bindingSet)
Create and return a new element. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RelationFusedView(IRelation<E> relation1,
IRelation<E> relation2)
relation1 - relation2 - | Method Detail |
|---|
public IRelation<E> getRelation1()
public IRelation<E> getRelation2()
public IAccessPath<E> getAccessPath(IPredicate<E> predicate)
IRelationIAccessPath for a relation given a predicate with
zero or more unbound variables.
If there is an IIndex that directly corresponeds to the natural
order implied by the variable pattern on the predicate then the access
path should use that index. Otherwise you should choose the best index
given the constraints and make sure that the IAccessPath
incorporates additional filters that will allow you to filter out the
irrelevant ITuples during the scan - this is very important when
the index is remote!
If there are any IElementFilters then the access path MUST
incorporate those constraints such that only elements that satisify the
constraints may be visited.
Whether the constraints arise because of the lack of a perfect index for
the access path or because they were explicitly specified for the
IPredicate, those constraints should be translated into
constraints imposed on the underlying ITupleIterator and sent
with it to be evaluated local to the data.
Note: Filters should be specified when the IAccessPath is
constructed so that they will be evalated on the data service rather than
materializing the elements and then filtering then. This can be
accomplished by adding the filter as a constraint on the predicate when
specifying the access path.
getAccessPath in interface IRelation<E>predicate - The constraint on the elements to be visited.
IAccessPath for that IPredicate.public Set<String> getIndexNames()
IRelation
getIndexNames in interface IRelation<E>public ExecutorService getExecutorService()
IRelationIRelation.
getExecutorService in interface IRelation<E>
public E newElement(IPredicate<E> predicate,
IBindingSet bindingSet)
IRelationISolution for an IRule during either a query or mutation
operations. The element is NOT inserted into the relation.
newElement in interface IRelation<E>predicate - The predicate that is the head of some IRule.bindingSet - A set of bindings for that IRule.
public Class<E> getElementClass()
IRelation
getElementClass in interface IRelation<E>public IIndexManager getIndexManager()
IIndexManager for the first relation in the view.
getIndexManager in interface IRelation<E>public long getTimestamp()
TemporaryStore.)
getTimestamp in interface ILocatableResource<IRelation<E>>UnsupportedOperationException - always.public String getNamespace()
getNamespace in interface ILocatableResource<IRelation<E>>UnsupportedOperationException - always.public String getContainerNamespace()
getContainerNamespace in interface ILocatableResource<IRelation<E>>null
if there is no containing resource.
UnsupportedOperationException - always.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||