Table of Contents

Class SqlQueryColumnUsageCollector

Namespace
LinqToDB.Internal.SqlQuery.Visitors
Assembly
linq2db.dll
public sealed class SqlQueryColumnUsageCollector : SqlQueryVisitor
Inheritance
SqlQueryColumnUsageCollector
Inherited Members
Extension Methods

Constructors

SqlQueryColumnUsageCollector()

public SqlQueryColumnUsageCollector()

Properties

UsedColumns

public IReadOnlyCollection<SqlColumn> UsedColumns { get; }

Property Value

IReadOnlyCollection<SqlColumn>

Methods

Cleanup()

Resets visitor to initial state.

public override void Cleanup()

CollectUsedColumns(IQueryElement)

public IQueryElement CollectUsedColumns(IQueryElement element)

Parameters

element IQueryElement

Returns

IQueryElement

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

element CteClause

Returns

IQueryElement

VisitExprExprPredicate(ExprExpr)

protected override IQueryElement VisitExprExprPredicate(SqlPredicate.ExprExpr predicate)

Parameters

predicate SqlPredicate.ExprExpr

Returns

IQueryElement

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

column SqlColumn
expression ISqlExpression

Returns

ISqlExpression

VisitSqlColumnReference(SqlColumn)

Used to visit columns as references in other expressions. Actual visit of table column happens in VisitSqlColumnExpression(SqlColumn, ISqlExpression).

protected override IQueryElement VisitSqlColumnReference(SqlColumn element)

Parameters

element SqlColumn

Returns

IQueryElement

VisitSqlFieldReference(SqlField)

Visitor for SqlField reference from query expressions.

protected override IQueryElement VisitSqlFieldReference(SqlField element)

Parameters

element SqlField

Returns

IQueryElement

VisitSqlGroupByClause(SqlGroupByClause)

protected override IQueryElement VisitSqlGroupByClause(SqlGroupByClause element)

Parameters

element SqlGroupByClause

Returns

IQueryElement

VisitSqlOrderByClause(SqlOrderByClause)

protected override IQueryElement VisitSqlOrderByClause(SqlOrderByClause element)

Parameters

element SqlOrderByClause

Returns

IQueryElement

VisitSqlQuery(SelectQuery)

protected override IQueryElement VisitSqlQuery(SelectQuery selectQuery)

Parameters

selectQuery SelectQuery

Returns

IQueryElement

VisitSqlSearchCondition(SqlSearchCondition)

protected override IQueryElement VisitSqlSearchCondition(SqlSearchCondition element)

Parameters

element SqlSearchCondition

Returns

IQueryElement

VisitSqlTableLikeSource(SqlTableLikeSource)

protected override IQueryElement VisitSqlTableLikeSource(SqlTableLikeSource element)

Parameters

element SqlTableLikeSource

Returns

IQueryElement