Uses of Class
edu.caltech.nanodb.plannodes.PlanNode
-
Packages that use PlanNode Package Description edu.caltech.nanodb.commands This package contains the classes that represent the commands that the NanoSQL database recognizes.edu.caltech.nanodb.expressions This package contains classes for representing and evaluating arithmetic and logical expressions.edu.caltech.nanodb.plannodes This package contains classes for representing query execution plans, as well as analyzing their costs.edu.caltech.nanodb.queryeval This package contains the query-evaluation components of the database. -
-
Uses of PlanNode in edu.caltech.nanodb.commands
Fields in edu.caltech.nanodb.commands declared as PlanNode Modifier and Type Field Description protected PlanNode
QueryCommand. plan
Methods in edu.caltech.nanodb.commands that return PlanNode Modifier and Type Method Description protected abstract PlanNode
DumpCommand. prepareDumpPlan(NanoDBServer server)
protected PlanNode
DumpIndexCommand. prepareDumpPlan(NanoDBServer server)
protected PlanNode
DumpTableCommand. prepareDumpPlan(NanoDBServer server)
-
Uses of PlanNode in edu.caltech.nanodb.expressions
Fields in edu.caltech.nanodb.expressions declared as PlanNode Modifier and Type Field Description protected PlanNode
SubqueryOperator. subqueryPlan
The execution plan for the subquery that is used by the operator.Methods in edu.caltech.nanodb.expressions that return PlanNode Modifier and Type Method Description PlanNode
SubqueryOperator. getSubqueryPlan()
Retrieves the current execution plan for the subquery.Methods in edu.caltech.nanodb.expressions with parameters of type PlanNode Modifier and Type Method Description void
SubqueryOperator. setSubqueryPlan(PlanNode plan)
Sets the execution plan for evaluating the subquery. -
Uses of PlanNode in edu.caltech.nanodb.plannodes
Subclasses of PlanNode in edu.caltech.nanodb.plannodes Modifier and Type Class Description class
FileScanNode
A select plan-node that scans a tuple file, checking the optional predicate against each tuple in the file.class
GroupAggregateNode
This class provides the common functionality necessary for grouping and aggregation.class
HashedGroupAggregateNode
Implements grouping and aggregation by using hashing as a method to identify groups.class
NestedLoopJoinNode
This plan node implements a nested-loop join operation, which can support arbitrary join conditions but is also the slowest join implementation.class
ProjectNode
PlanNode representing the SELECT clause in a SQL query.class
RenameNode
This plan-node implements the Rename relational algebra operation, for either renaming a table in a query, or assigning a table-name to a derived relation.class
SelectNode
PlanNode representing the WHERE clause in a SELECT operation.class
SimpleFilterNode
This select plan node implements a simple filter of a subplan based on a predicate.class
SortedGroupAggregateNode
Implements grouping and aggregation by using sorting as a method to find groups.class
SortMergeJoinNode
This class implements the basic sort-merge join algorithm for use in join evaluation.class
SortNode
This plan node provides a simple in-memory sort operation for use in ORDER BY clauses.class
TableFunctionScanNode
A select plan-node that produces the output of a specific table-returning function, checking the optional predicate against each tuple.class
ThetaJoinNode
PlanNode representing the FROM clause in a SELECT operation.class
TupleBagNode
This plan-node returns tuples from a collection specified on the node before it is prepared.Fields in edu.caltech.nanodb.plannodes declared as PlanNode Modifier and Type Field Description protected PlanNode
PlanNode. leftChild
The left child of this plan node.protected PlanNode
PlanNode. rightChild
If the plan node has two children, this field is set to the right child node.Methods in edu.caltech.nanodb.plannodes that return PlanNode Modifier and Type Method Description static PlanNode
PlanUtils. addPredicateToPlan(PlanNode plan, Expression predicate)
This helper function takes a query plan and a selection predicate, and adds the predicate to the plan in a reasonably intelligent way.protected PlanNode
FileScanNode. clone()
Creates a copy of this simple filter node node and its subtree.protected PlanNode
NestedLoopJoinNode. clone()
Creates a copy of this plan node and its subtrees.protected PlanNode
PlanNode. clone()
Creates a copy of this plan node and its subtree.protected PlanNode
ProjectNode. clone()
Creates a copy of this project node and its subtree.protected PlanNode
SelectNode. clone()
Creates a copy of this select node and its subtree.protected PlanNode
SimpleFilterNode. clone()
Creates a copy of this simple filter node node and its subtree.protected PlanNode
SortMergeJoinNode. clone()
Creates a copy of this plan node and its subtrees.PlanNode
PlanNode. duplicate()
Returns a deep copy of this plan tree.Methods in edu.caltech.nanodb.plannodes with parameters of type PlanNode Modifier and Type Method Description static PlanNode
PlanUtils. addPredicateToPlan(PlanNode plan, Expression predicate)
This helper function takes a query plan and a selection predicate, and adds the predicate to the plan in a reasonably intelligent way.static java.lang.String
PlanNode. printNodeTreeToString(PlanNode plan)
Generates the same result asprintNodeTree(PrintStream)
, but into a string instead of to an output stream.static java.lang.String
PlanNode. printNodeTreeToString(PlanNode plan, boolean includeCosts)
Generates the same result asprintNodeTree(PrintStream)
, but into a string instead of to an output stream.Constructors in edu.caltech.nanodb.plannodes with parameters of type PlanNode Constructor Description GroupAggregateNode(PlanNode subplan, java.util.List<Expression> groupByExprs, java.util.Map<java.lang.String,FunctionCall> aggregates)
HashedGroupAggregateNode(PlanNode subplan, java.util.List<Expression> groupByExprs, java.util.Map<java.lang.String,FunctionCall> aggregates)
NestedLoopJoinNode(PlanNode leftChild, PlanNode rightChild, JoinType joinType, Expression predicate)
PlanNode(PlanNode leftChild)
Constructs a PlanNode with a given operation type, and the specified left child-plan.PlanNode(PlanNode leftChild, PlanNode rightChild)
Constructs a PlanNode with a given operation type, and the specified left child-plan.ProjectNode(PlanNode leftChild, java.util.List<SelectValue> projectionSpec)
Constructs a ProjectNode that pulls tuples from a child node.RenameNode(PlanNode subplan, java.lang.String resultTableName)
SelectNode(PlanNode leftChild, Expression predicate)
SimpleFilterNode(PlanNode child, Expression predicate)
SortedGroupAggregateNode(PlanNode subplan, java.util.List<Expression> groupByExprs, java.util.Map<java.lang.String,FunctionCall> aggregates)
SortMergeJoinNode(PlanNode leftChild, PlanNode rightChild, JoinType joinType, Expression predicate)
SortNode(PlanNode subplan, java.util.List<OrderByExpression> orderByExprs)
Constructs a PlanNode with a given operation type.ThetaJoinNode(PlanNode leftChild, PlanNode rightChild, JoinType joinType, Expression predicate)
Constructs a ThetaJoinNode that joins the tuples from the left and right subplans, using the specified join type and join predicate. -
Uses of PlanNode in edu.caltech.nanodb.queryeval
Fields in edu.caltech.nanodb.queryeval declared as PlanNode Modifier and Type Field Description PlanNode
CostBasedJoinPlanner.JoinComponent. joinPlan
This is the join plan itself, that joins together all leaves specified in theCostBasedJoinPlanner.JoinComponent.leavesUsed
field.Fields in edu.caltech.nanodb.queryeval with type parameters of type PlanNode Modifier and Type Field Description java.util.HashSet<PlanNode>
CostBasedJoinPlanner.JoinComponent. leavesUsed
This field specifies the collection of leaf-plans that are joined by the plan in this join-component.Methods in edu.caltech.nanodb.queryeval that return PlanNode Modifier and Type Method Description private PlanNode
CostBasedJoinPlanner. makeLeafPlan(FromClause fromClause, java.util.Collection<Expression> conjuncts, java.util.HashSet<Expression> leafConjuncts)
Constructs a plan tree for evaluating the specified from-clause.PlanNode
CostBasedJoinPlanner. makePlan(SelectClause selClause, java.util.List<SelectClause> enclosingSelects)
Returns the root of a plan tree suitable for executing the specified query.PlanNode
Planner. makePlan(SelectClause selClause, java.util.List<SelectClause> enclosingSelects)
Returns the root of a plan tree suitable for executing the specified query.PlanNode
SimplestPlanner. makePlan(SelectClause selClause, java.util.List<SelectClause> enclosingSelects)
Returns the root of a plan tree suitable for executing the specified query.Methods in edu.caltech.nanodb.queryeval with parameters of type PlanNode Modifier and Type Method Description static EvalStats
QueryEvaluator. executePlan(PlanNode plan, TupleProcessor processor)
Executes the specified query plan, and feeds the results to the specified tuple processor.Constructors in edu.caltech.nanodb.queryeval with parameters of type PlanNode Constructor Description JoinComponent(PlanNode leafPlan, java.util.HashSet<Expression> conjunctsUsed)
Constructs a new instance for a leaf node.JoinComponent(PlanNode joinPlan, java.util.HashSet<PlanNode> leavesUsed, java.util.HashSet<Expression> conjunctsUsed)
Constructs a new instance for a non-leaf node.Constructor parameters in edu.caltech.nanodb.queryeval with type arguments of type PlanNode Constructor Description JoinComponent(PlanNode joinPlan, java.util.HashSet<PlanNode> leavesUsed, java.util.HashSet<Expression> conjunctsUsed)
Constructs a new instance for a non-leaf node.
-