com.bigdata.bop.joinGraph.rto
Class JoinGraph

java.lang.Object
  extended by com.bigdata.bop.CoreBaseBOp
      extended by com.bigdata.bop.BOpBase
          extended by com.bigdata.bop.PipelineOp
              extended by com.bigdata.bop.joinGraph.rto.JoinGraph
All Implemented Interfaces:
BOp, IPropertySet, Serializable, Cloneable

public class JoinGraph
extends PipelineOp

A join graph with annotations for estimated cardinality and other details in support of runtime query optimization. A join graph is a collection of relations and joins which connect those relations. This boils down to a collection of IPredicates (selects on relations), shared variables (which identify joins), and IConstraints (which limit solutions). Operators other than standard joins (including optional joins, sort, order by, etc.) must be handled downstream from the join graph in a "tail plan".

Version:
$Id: JoinGraph.java 6065 2012-03-02 19:34:28Z thompsonbry $
Author:
Bryan Thompson
See Also:
http://arxiv.org/PS_cache/arxiv/pdf/0810/0810.4809v1.pdf, XQuery Join Graph Isolation., JGraph, Serialized Form

Nested Class Summary
static interface JoinGraph.Annotations
          Known annotations.
 
Field Summary
 
Fields inherited from class com.bigdata.bop.CoreBaseBOp
DEFAULT_INITIAL_CAPACITY
 
Fields inherited from interface com.bigdata.bop.BOp
NOANNS, NOARGS
 
Constructor Summary
JoinGraph(BOp[] args, Map<String,Object> anns)
           
JoinGraph(BOp[] args, NV... anns)
           
 
Method Summary
 FutureTask<Void> eval(BOpContext<IBindingSet> context)
          Return a FutureTask which computes the operator against the evaluation context.
 IConstraint[] getConstraints()
           
 int getLimit()
           
 int getNEdges()
           
 SampleIndex.SampleType getSampleType()
           
 IVariable<?>[] getSelected()
           
 IPredicate<?>[] getVertices()
           
 
Methods inherited from class com.bigdata.bop.PipelineOp
assertAtOnceJavaHeapOp, getChunkCapacity, getChunkOfChunksCapacity, getChunkTimeout, getMaxMemory, getMaxParallel, isAtOnceEvaluation, isBlockedEvaluation, isLastPassRequested, isPipelinedEvaluation, isSharedState, newStats
 
Methods inherited from class com.bigdata.bop.BOpBase
_clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
 
Methods inherited from class com.bigdata.bop.CoreBaseBOp
annotationsEqual, annotationsToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, toShortString, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JoinGraph

public JoinGraph(BOp[] args,
                 NV... anns)

JoinGraph

public JoinGraph(BOp[] args,
                 Map<String,Object> anns)
Method Detail

getSelected

public IVariable<?>[] getSelected()
See Also:
JoinGraph.Annotations.SELECTED

getVertices

public IPredicate<?>[] getVertices()
See Also:
JoinGraph.Annotations.VERTICES

getConstraints

public IConstraint[] getConstraints()
See Also:
JoinGraph.Annotations.CONSTRAINTS

getLimit

public int getLimit()
See Also:
JoinGraph.Annotations.LIMIT

getNEdges

public int getNEdges()
See Also:
JoinGraph.Annotations.NEDGES

getSampleType

public SampleIndex.SampleType getSampleType()
See Also:
JoinGraph.Annotations.SAMPLE_TYPE

eval

public FutureTask<Void> eval(BOpContext<IBindingSet> context)
Description copied from class: PipelineOp
Return a FutureTask which computes the operator against the evaluation context. The caller is responsible for executing the FutureTask (this gives them the ability to hook the completion of the computation).

Specified by:
eval in class PipelineOp
Parameters:
context - The evaluation context.
Returns:
The FutureTask which will compute the operator's evaluation.


Copyright © 2006-2012 SYSTAP, LLC. All Rights Reserved.