22 return VisitNode(node);
27 return VisitSingle((SingleQueryPlanNode) node);
29 return VisitBranch((BranchQueryPlanNode) node);
31 return VisitFetchTable((FetchTableNode) node);
33 return VisitFetchView((FetchViewNode) node);
35 return VisitSingleRowTable((SingleRowTableNode) node);
37 throw new NotSupportedException();
54 return VisitSimpleSelect((SimpleSelectNode) node);
56 return VisitSimplePatternSelect((SimplePatternSelectNode) node);
58 return VisitExhaustiveSelect((ExhaustiveSelectNode) node);
60 return VisitConstantSelect((ConstantSelectNode) node);
62 return VisitRangeSelect((RangeSelectNode) node);
64 return VisitDistinct((DistinctNode) node);
66 return VisitLeftOuterJoin((LeftOuterJoinNode) node);
68 return VisitCachePoint((CachePointNode) node);
70 return VisitMarker((MarkerNode) node);
72 return VisitSubset((SubsetNode) node);
74 return VisitGroup((GroupNode) node);
76 return VisitSort((SortNode) node);
78 return VisitCreateFunctions((CreateFunctionsNode) node);
80 return VisitLimit((LimitNode) node);
82 throw new NotSupportedException();
86 var child = node.
Child;
88 child = VisitNode(child);
94 var child = node.
Child;
96 child = VisitNode(child);
103 return VisitComposite((CompositeNode) node);
105 return VisitJoin((JoinNode) node);
107 return VisitEquiJoin((EquiJoinNode) node);
109 return VisitNaturalJoin((NaturalJoinNode) node);
111 return VisitLogicalUnion((LogicalUnionNode) node);
113 return VisitNonCorrelatedAnyAll((NonCorrelatedAnyAllNode) node);
115 throw new NotSupportedException();
119 var left = node.
Left;
120 var right = node.
Right;
122 left = VisitNode(left);
124 right = VisitNode(right);
130 var left = node.
Left;
131 var right = node.
Right;
133 left = VisitNode(left);
135 right = VisitNode(right);
141 var left = node.
Left;
142 var right = node.
Right;
144 left = VisitNode(left);
146 right = VisitNode(right);
152 var left = node.
Left;
153 var right = node.
Right;
155 left = VisitNode(left);
157 right = VisitNode(right);
163 var left = node.
Left;
164 var right = node.
Right;
166 left = VisitNode(left);
168 right = VisitNode(right);
174 var left = node.
Left;
175 var right = node.
Right;
177 left = VisitNode(left);
179 right = VisitNode(right);
185 var child = node.
Child;
187 child = VisitNode(child);
193 var child = node.
Child;
195 child = VisitNode(child);
201 var child = node.
Child;
203 child = VisitNode(child);
209 var child = node.
Child;
211 child = VisitNode(child);
217 var child = node.
Child;
219 child = VisitNode(child);
225 var child = node.
Child;
227 child = VisitNode(child);
233 var child = node.
Child;
235 child = VisitNode(child);
241 var child = node.
Child;
243 child = VisitNode(child);
249 var child = node.
Child;
251 child = VisitNode(child);
257 var child = node.
Child;
259 child = VisitNode(child);
265 var child = node.
Child;
267 child = VisitNode(child);
273 var child = node.
Child;
275 child = VisitNode(child);
IQueryPlanNode Right
Gets the right node of the branch query plan node.
bool All
If this is true, the composite includes all results from both children, otherwise removes deplicates...
A branch node for performing a composite function on two child nodes.
string[] Names
The list of names to give each function table.
ObjectName AliasName
The name to alias the table as.
virtual IQueryPlanNode VisitSort(SortNode node)
IQueryPlanNode Child
Gets the single child node of the plan.
The node for evaluating an expression that contains entirely constant values (no variables).
A IQueryPlanNode with a single child.
SqlExpression[] Functions
A query to the database to select data from a set of tables and columns.
SqlExpression Expression
A simple expression that represents the range to select. See the class comments for a description for...
virtual IQueryPlanNode VisitLeftOuterJoin(LeftOuterJoinNode node)
virtual IQueryPlanNode VisitSimplePatternSelect(SimplePatternSelectNode node)
virtual IQueryPlanNode VisitSingleRowTable(SingleRowTableNode node)
virtual IQueryPlanNode VisitConstantSelect(ConstantSelectNode node)
SqlExpressionType Operator
virtual IQueryPlanNode VisitCreateFunctions(CreateFunctionsNode node)
virtual IQueryPlanNode VisitJoin(JoinNode node)
virtual IQueryPlanNode VisitRangeSelect(RangeSelectNode node)
virtual IQueryPlanNode VisitLimit(LimitNode node)
The node for performing a simple indexed query on a single column of the child node.
ObjectName LeftColumnName
A node element of a query plan tree. /summary>
The node for performing a simple select operation on a table.
virtual IQueryPlanNode VisitSimpleSelect(SimpleSelectNode node)
A marker node that takes the result of a child and marks it as a name that can later be retrieved...
virtual IQueryPlanNode VisitNode(IQueryPlanNode node)
ObjectName[] AliasColumnNames
The node for merging the child node with a set of new function columns over the entire result...
virtual IQueryPlanNode VisitBranch(BranchQueryPlanNode node)
virtual IQueryPlanNode VisitNaturalJoin(NaturalJoinNode node)
SqlExpression[] Functions
The list of functions to create.
virtual IQueryPlanNode VisitFetchTable(FetchTableNode node)
SqlExpression RightExpression
The node for performing a exhaustive select operation on the child node.
A branch node for a left outer join.
virtual IQueryPlanNode VisitSubset(SubsetNode node)
SqlExpression Expression
The search expression.
virtual IQueryPlanNode VisitGroup(GroupNode node)
ObjectName TableName
The name of the table to fetch.
ObjectName[] OriginalColumnNames
SqlExpressionType OperatorType
CompositeFunction CompositeFunction
The composite operation.
virtual IQueryPlanNode VisitCachePoint(CachePointNode node)
ObjectName GroupMaxColumn
virtual IQueryPlanNode VisitEquiJoin(EquiJoinNode node)
virtual IQueryPlanNode VisitLogicalUnion(LogicalUnionNode node)
virtual IQueryPlanNode VisitComposite(CompositeNode node)
A branch node for naturally joining two tables together.
A IQueryPlanNode implementation that is a branch with two child nodes.
ObjectName[] RightColumns
virtual IQueryPlanNode VisitMarker(MarkerNode node)
virtual IQueryPlanNode VisitExhaustiveSelect(ExhaustiveSelectNode node)
virtual IQueryPlanNode VisitSingle(SingleQueryPlanNode node)
virtual IQueryPlanNode VisitDistinct(DistinctNode node)
virtual IQueryPlanNode VisitFetchView(FetchViewNode node)
IQueryPlanNode Visit(IQueryPlanNode node)
IQueryPlanNode Left
Gets the left node of the branch query plan node.
The node for fetching a table from the current transaction.
virtual IQueryPlanNode VisitNonCorrelatedAnyAll(NonCorrelatedAnyAllNode node)