Package com.mckoi.database
Class QueryPlan
- java.lang.Object
-
- com.mckoi.database.QueryPlan
-
public class QueryPlan extends java.lang.ObjectVarious helper methods for constructing a plan tree, and the plan node implementations themselves.- Author:
- Tobias Downer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classQueryPlan.BranchQueryPlanNodeA QueryPlanNode that is a branch with two child nodes.static classQueryPlan.CachePointNodeA cache point node that only evaluates the child if the result can not be found in the cache with the given unique id.static classQueryPlan.CompositeNodeA branch node for performing a composite function on two child nodes.static classQueryPlan.ConstantSelectNodeThe node for evaluating an expression that contains entirely constant values (no variables).static classQueryPlan.CreateFunctionsNodeThe node for merging the child node with a set of new function columns over the entire result.static classQueryPlan.DistinctNodeThe node for performing a distinct operation on the given columns of the child node.static classQueryPlan.EquiJoinNodeA branch node for equi-joining two tables together given two sets of columns.static classQueryPlan.ExhaustiveSelectNodeThe node for performing a exhaustive select operation on the child node.static classQueryPlan.FetchTableNodeThe node for fetching a table from the current transaction.static classQueryPlan.FetchViewNodeThe node that fetches a view from the current connection.static classQueryPlan.FunctionalSelectNodeThe node for performing a functional select operation on the child node.static classQueryPlan.GroupNodeThe node for performing a grouping operation on the columns of the child node.static classQueryPlan.JoinNodeA branch node for a non-equi join between two tables.static classQueryPlan.LeftOuterJoinNodeA branch node for a left outer join.static classQueryPlan.LogicalUnionNodeA branch node for a logical union of two tables of identical types.static classQueryPlan.MarkerNodeA marker node that takes the result of a child and marks it as a name that can later be retrieved.static classQueryPlan.MultiColumnEquiSelectNodeThe node for performing an equi-select on a group of columns of the child node.static classQueryPlan.NaturalJoinNodeA branch node for naturally joining two tables together.static classQueryPlan.NonCorrelatedAnyAllNodeA branch node for a non-correlated ANY or ALL sub-query evaluation.static classQueryPlan.RangeSelectNodeThe node for performing a simple indexed query on a single column of the child node.static classQueryPlan.SimplePatternSelectNodeThe node for evaluating a simple pattern search on a table which includes a single left hand variable or constant, a pattern type (LIKE, NOT LIKE or REGEXP), and a right hand constant (eg.static classQueryPlan.SimpleSelectNodeThe node for performing a simple select operation on a table.static classQueryPlan.SingleQueryPlanNodeA QueryPlanNode with a single child.static classQueryPlan.SingleRowTableNodeA node for creating a table with a single row.static classQueryPlan.SortNodeThe node for performing a sort operation on the given columns of the child node.static classQueryPlan.SubsetNodeThe node for finding a subset and renaming the columns of the results in the child node.
-
Constructor Summary
Constructors Constructor Description QueryPlan()
-