C# Class Shaolinq.Persistence.Linq.Optimizers.SqlUnusedColumnRemover

Removes column declarations in selects that are not referenced
Inheritance: Shaolinq.Persistence.Linq.Expressions.SqlExpressionVisitor
Show file Open project: tumtumtum/Shaolinq

Public Methods

Method Description
Remove ( Expression expression ) : Expression

Protected Methods

Method Description
VisitColumn ( SqlColumnExpression column ) : Expression
VisitJoin ( SqlJoinExpression join ) : Expression
VisitProjection ( SqlProjectionExpression projection ) : Expression
VisitSelect ( SqlSelectExpression select ) : Expression
VisitSubquery ( SqlSubqueryExpression subquery ) : Expression

Private Methods

Method Description
ClearColumnsUsed ( string alias ) : void
IsColumnUsed ( string alias, string name ) : bool
MarkColumnAsUsed ( string alias, string name ) : void
SqlUnusedColumnRemover ( ) : System.Collections.Generic

Method Details

Remove() public static method

public static Remove ( Expression expression ) : Expression
expression System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

VisitColumn() protected method

protected VisitColumn ( SqlColumnExpression column ) : Expression
column Shaolinq.Persistence.Linq.Expressions.SqlColumnExpression
return System.Linq.Expressions.Expression

VisitJoin() protected method

protected VisitJoin ( SqlJoinExpression join ) : Expression
join Shaolinq.Persistence.Linq.Expressions.SqlJoinExpression
return System.Linq.Expressions.Expression

VisitProjection() protected method

protected VisitProjection ( SqlProjectionExpression projection ) : Expression
projection Shaolinq.Persistence.Linq.Expressions.SqlProjectionExpression
return System.Linq.Expressions.Expression

VisitSelect() protected method

protected VisitSelect ( SqlSelectExpression select ) : Expression
select Shaolinq.Persistence.Linq.Expressions.SqlSelectExpression
return System.Linq.Expressions.Expression

VisitSubquery() protected method

protected VisitSubquery ( SqlSubqueryExpression subquery ) : Expression
subquery Shaolinq.Persistence.Linq.Expressions.SqlSubqueryExpression
return System.Linq.Expressions.Expression