Name |
Description |
AggregateChecker |
Determines if a SelectExpression contains any aggregate expressions |
AggregateRewriter |
Rewrite aggregate expressions, moving them into same select expression that has the group-by clause |
AggregateRewriter.AggregateGatherer |
|
Aggregator |
|
ClientJoinedProjectionRewriter |
rewrites nested projections into client-side joins |
ClientJoinedProjectionRewriter.QueryDuplicator |
Duplicate the query expression by making a copy with new table aliases |
ColumnMapper |
Rewrite all column references to one or more aliases to a new single alias |
ColumnProjector |
Splits an expression into two parts 1) a list of column declarations for sub-expressions that must be evaluated on the server 2) a expression that describes how to combine/project the columns back together into the correct result |
ColumnProjector.Nominator |
Nominator is a class that walks an expression tree bottom up, determining the set of candidate expressions that are possible columns of a select expression |
ComparisonRewriter |
|
CrossApplyRewriter |
Attempts to rewrite cross-apply and outer-apply joins as inner and left-outer joins |
CrossJoinIsolator |
Isolates cross joins from other types of joins using nested sub queries |
CrossJoinRewriter |
Attempt to rewrite cross joins as inner joins |
DbExpressionComparer |
Determines if two expressions are equivalent. Supports DbExpression nodes. |
DbExpressionExtensions |
|
DbExpressionReplacer |
Replaces references to one specific instance of an expression node with another node. Supports DbExpression nodes |
DbExpressionVisitor |
An extended expression visitor including custom DbExpression nodes |
DbExpressionWriter |
|
ExpressionHelper |
|
FunctionBinder |
|
FunctionBinder.ParameterMapping |
|
ProjectedColumns |
Result from calling ColumnProjector.ProjectColumns |
RedundantColumnRemover |
Removes duplicate column declarations that refer to the same underlying column |
RedundantJoinRemover |
Removes joins expressions that are identical to joins that already exist |
RedundantSubqueryRemover |
Removes select expressions that don't add any additional semantic value |
RedundantSubqueryRemover.RedundantSubqueryGatherer |
|
RedundantSubqueryRemover.SubqueryMerger |
|
ReferencedAliasGatherer |
returns the set of all aliases produced by a query source |
ReferencedColumnGatherer |
Gathers all columns referenced by the given expression |
RelationshipBinder |
Translates accesses to relationship members into projections or joins |
SingletonProjectionRewriter |
Rewrites nested singleton projection into server-side joins |
SkipToRowNumberRewriter |
Rewrites take & skip expressions into uses of TSQL row_number function |
SubqueryRemover |
Removes one or more SelectExpression's by rewriting the expression tree to not include them, promoting their from clause expressions and rewriting any column expressions that may have referenced them to now reference the underlying data directly. |
TableAliasGatherer |
returns the set of all aliases produced by a query source |
ThreeTopPagerRewriter |
Rewrites queries with skip & take to use the nested queries with inverted ordering technique |
UnusedColumnRemover |
|