Class SelectQueryOptimizerVisitor
public sealed class SelectQueryOptimizerVisitor : SqlQueryVisitor
- Inheritance
-
SelectQueryOptimizerVisitor
- Inherited Members
- Extension Methods
Constructors
SelectQueryOptimizerVisitor()
public SelectQueryOptimizerVisitor()
Methods
Cleanup()
Resets visitor to initial state.
public override void Cleanup()
NotifyReplaced(IQueryElement, IQueryElement)
Remembers element replacement.
public override IQueryElement NotifyReplaced(IQueryElement newElement, IQueryElement oldElement)
Parameters
newElementIQueryElementoldElementIQueryElement
Returns
Optimize(IQueryElement, IQueryElement, SqlProviderFlags, bool, DataOptions, MappingSchema, EvaluationContext, params IQueryElement[])
public IQueryElement Optimize(IQueryElement root, IQueryElement rootElement, SqlProviderFlags providerFlags, bool removeWeakJoins, DataOptions dataOptions, MappingSchema mappingSchema, EvaluationContext evaluationContext, params IQueryElement[] dependencies)
Parameters
rootIQueryElementrootElementIQueryElementproviderFlagsSqlProviderFlagsremoveWeakJoinsbooldataOptionsDataOptionsmappingSchemaMappingSchemaevaluationContextEvaluationContextdependenciesIQueryElement[]
Returns
VisitCteClause(CteClause)
Visitor of CteClause definition from SqlWithClause visitor (owner). For visitor of CteClause in queries see VisitCteClauseReference(CteClause) visitor.
protected override IQueryElement VisitCteClause(CteClause element)
Parameters
elementCteClause
Returns
VisitExistsPredicate(Exists)
protected override IQueryElement VisitExistsPredicate(SqlPredicate.Exists predicate)
Parameters
predicateSqlPredicate.Exists
Returns
VisitInSubQueryPredicate(InSubQuery)
protected override IQueryElement VisitInSubQueryPredicate(SqlPredicate.InSubQuery predicate)
Parameters
predicateSqlPredicate.InSubQuery
Returns
VisitSqlColumnExpression(SqlColumn, ISqlExpression)
Visit of column expression from owner table. For column references visitor see VisitSqlColumnReference(SqlColumn)
protected override ISqlExpression VisitSqlColumnExpression(SqlColumn column, ISqlExpression expression)
Parameters
columnSqlColumnexpressionISqlExpression
Returns
VisitSqlFromClause(SqlFromClause)
protected override IQueryElement VisitSqlFromClause(SqlFromClause element)
Parameters
elementSqlFromClause
Returns
VisitSqlJoinedTable(SqlJoinedTable)
protected override IQueryElement VisitSqlJoinedTable(SqlJoinedTable element)
Parameters
elementSqlJoinedTable
Returns
VisitSqlNullabilityExpression(SqlNullabilityExpression)
protected override IQueryElement VisitSqlNullabilityExpression(SqlNullabilityExpression element)
Parameters
elementSqlNullabilityExpression
Returns
VisitSqlOrderByClause(SqlOrderByClause)
protected override IQueryElement VisitSqlOrderByClause(SqlOrderByClause element)
Parameters
elementSqlOrderByClause
Returns
VisitSqlQuery(SelectQuery)
protected override IQueryElement VisitSqlQuery(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
Returns
VisitSqlSetOperator(SqlSetOperator)
protected override IQueryElement VisitSqlSetOperator(SqlSetOperator element)
Parameters
elementSqlSetOperator
Returns
VisitSqlTableSource(SqlTableSource)
protected override IQueryElement VisitSqlTableSource(SqlTableSource element)
Parameters
elementSqlTableSource
Returns
VisitSqlUpdateStatement(SqlUpdateStatement)
protected override IQueryElement VisitSqlUpdateStatement(SqlUpdateStatement element)
Parameters
elementSqlUpdateStatement