Table of Contents

Class SqlNodeInterpreter

Namespace
LfrlAnvil.Sql.Expressions.Visitors
Assembly
LfrlAnvil.Sql.Core.dll

Represents an object capable of recursive traversal over an SQL syntax tree and translating that tree into an SQL statement.

public abstract class SqlNodeInterpreter : ISqlNodeVisitor
Inheritance
SqlNodeInterpreter
Implements
Derived
Inherited Members
Extension Methods

Remarks

SQL nodes that cannot be handled by an SqlNodeInterpreter instance may cause it to throw an exception of SqlNodeVisitorException or UnrecognizedSqlNodeException type.

Constructors

SqlNodeInterpreter(SqlNodeInterpreterContext, char, char)

Creates a new SqlNodeInterpreter instance.

protected SqlNodeInterpreter(SqlNodeInterpreterContext context, char beginNameDelimiter, char endNameDelimiter)

Parameters

context SqlNodeInterpreterContext

Underlying SqlNodeInterpreterContext instance.

beginNameDelimiter char

Specifies the beginning name delimiter symbol.

endNameDelimiter char

Specifies the ending name delimiter symbol.

Fields

BeginNameDelimiter

Specifies the beginning name delimiter symbol.

public readonly char BeginNameDelimiter

Field Value

char

EndNameDelimiter

Specifies the ending name delimiter symbol.

public readonly char EndNameDelimiter

Field Value

char

Properties

Context

Underlying SqlNodeInterpreterContext instance.

public SqlNodeInterpreterContext Context { get; }

Property Value

SqlNodeInterpreterContext

RecordSetNodeBehavior

Specifies the current SqlNodeInterpreter.RecordSetNodeBehaviorRule instance.

public SqlNodeInterpreter.RecordSetNodeBehaviorRule? RecordSetNodeBehavior { get; }

Property Value

SqlNodeInterpreter.RecordSetNodeBehaviorRule?

Methods

AddContextParameter(SqlParameterNode)

Registers an SQL parameter in the Context.

protected virtual void AddContextParameter(SqlParameterNode node)

Parameters

node SqlParameterNode

SQL parameter node to register.

AppendDelimitedAlias(string?)

Appends delimited alias to Context.

public void AppendDelimitedAlias(string? alias)

Parameters

alias string

Alias to append.

AppendDelimitedDataFieldName(SqlRecordSetInfo, string)

Appends delimited data field's name to Context.

public void AppendDelimitedDataFieldName(SqlRecordSetInfo recordSet, string name)

Parameters

recordSet SqlRecordSetInfo

Record set name to append.

name string

Data field name to append.

AppendDelimitedName(string)

Appends delimited name to Context.

public void AppendDelimitedName(string name)

Parameters

name string

Name to append.

AppendDelimitedRecordSetInfo(SqlRecordSetInfo)

Appends delimited SqlRecordSetInfo to Context.

public void AppendDelimitedRecordSetInfo(SqlRecordSetInfo info)

Parameters

info SqlRecordSetInfo

SqlRecordSetInfo to append.

AppendDelimitedRecordSetName(SqlRecordSetNode)

Appends delimited name of the provided record set to Context.

public virtual void AppendDelimitedRecordSetName(SqlRecordSetNode node)

Parameters

node SqlRecordSetNode

Record set whose name should be appended.

AppendDelimitedSchemaObjectName(SqlSchemaObjectName)

Appends delimited schema object's name to Context.

public void AppendDelimitedSchemaObjectName(SqlSchemaObjectName name)

Parameters

name SqlSchemaObjectName

Name to append.

AppendDelimitedSchemaObjectName(string, string)

Appends delimited schema object's name to Context.

public virtual void AppendDelimitedSchemaObjectName(string schemaName, string objName)

Parameters

schemaName string

Schema name to append.

objName string

Object name to append.

AppendDelimitedTemporaryObjectName(string)

Appends delimited name of a temporary SQL object to Context.

public virtual void AppendDelimitedTemporaryObjectName(string name)

Parameters

name string

Name to append.

AppendJoin(string, SqlDataSourceJoinOnNode)

Appends an SQL join statement to Context.

protected void AppendJoin(string joinType, SqlDataSourceJoinOnNode node)

Parameters

joinType string

Join operation type.

node SqlDataSourceJoinOnNode

SQL data source join node.

AppendMultilineSql(ReadOnlySpan<char>)

Appends raw, potentially multiline, sql to Context while respecting its current Indent.

public void AppendMultilineSql(ReadOnlySpan<char> sql)

Parameters

sql ReadOnlySpan<char>

Raw sql to append.

AppendWindowFrameBoundary(SqlWindowFrameBoundary)

Appends an SQL window frame boundary to Context.

protected virtual void AppendWindowFrameBoundary(SqlWindowFrameBoundary boundary)

Parameters

boundary SqlWindowFrameBoundary

Boundary to append.

CreateComplexDeleteOrUpdateFilter(ChangeTargetInfo, SqlDataSourceNode)

Creates a complex SqlDeleteFromNode or SqlUpdateNode filter expression, that uses sub-queries for filtering records that should be modified, for a data source that does not represent a valid SQL statement on its own.

[Pure]
protected static SqlFilterTraitNode CreateComplexDeleteOrUpdateFilter(SqlNodeInterpreter.ChangeTargetInfo targetInfo, SqlDataSourceNode dataSource)

Parameters

targetInfo SqlNodeInterpreter.ChangeTargetInfo

SqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.

dataSource SqlDataSourceNode

SqlDataSourceNode instance attached to SqlDeleteFromNode or SqlUpdateNode.

Returns

SqlFilterTraitNode

New SqlFilterTraitNode instance.

CreateSimplifiedDeleteFrom(ChangeTargetInfo, SqlDeleteFromNode)

Creates a simplified version of an SqlDeleteFromNode that does not represent a valid SQL statement on its own, by using a common table expression that the delete target joins to.

[Pure]
protected static SqlDeleteFromNode CreateSimplifiedDeleteFrom(SqlNodeInterpreter.ChangeTargetInfo targetInfo, SqlDeleteFromNode node)

Parameters

targetInfo SqlNodeInterpreter.ChangeTargetInfo

SqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.

node SqlDeleteFromNode

Source delete node.

Returns

SqlDeleteFromNode

New SqlDeleteFromNode instance.

CreateSimplifiedUpdateFrom(ChangeTargetInfo, SqlUpdateNode, ComplexUpdateAssignmentsVisitor?)

Creates a simplified version of an SqlUpdateNode that does not represent a valid SQL statement on its own, by using a common table expression that the update target joins to.

[Pure]
protected static SqlUpdateNode CreateSimplifiedUpdateFrom(SqlNodeInterpreter.ChangeTargetInfo targetInfo, SqlUpdateNode node, SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor? updateAssignmentsVisitor)

Parameters

targetInfo SqlNodeInterpreter.ChangeTargetInfo

SqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.

node SqlUpdateNode

Source update node.

updateAssignmentsVisitor SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor

Optional SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor that contains information about complex value assignments.

Returns

SqlUpdateNode

New SqlUpdateNode instance.

CreateUpdateAssignmentsVisitor(SqlUpdateNode)

Creates a new SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor instance or returns null when DataSource of the provided node does not contain any joins.

[Pure]
protected static SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor? CreateUpdateAssignmentsVisitor(SqlUpdateNode node)

Parameters

node SqlUpdateNode

Source update node.

Returns

SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor

New SqlNodeInterpreter.ComplexUpdateAssignmentsVisitor instance or null.

DoesChildNodeRequireParentheses(SqlNodeBase)

Specifies whether or not the provided node should be interpreted as a child node.

[Pure]
protected abstract bool DoesChildNodeRequireParentheses(SqlNodeBase node)

Parameters

node SqlNodeBase

Node to check.

Returns

bool

true when node should be interpreted as a child node, otherwise false.

Remarks

ExtractAggregateFunctionTraits(Chain<SqlTraitNode>)

Creates a new SqlAggregateFunctionTraits instance.

[Pure]
public static SqlAggregateFunctionTraits ExtractAggregateFunctionTraits(Chain<SqlTraitNode> traits)

Parameters

traits Chain<SqlTraitNode>

Collection of traits to parse.

Returns

SqlAggregateFunctionTraits

New SqlAggregateFunctionTraits instance.

ExtractAggregateFunctionTraits(SqlAggregateFunctionTraits, Chain<SqlTraitNode>)

Creates a new SqlAggregateFunctionTraits instance.

[Pure]
public static SqlAggregateFunctionTraits ExtractAggregateFunctionTraits(SqlAggregateFunctionTraits @base, Chain<SqlTraitNode> traits)

Parameters

base SqlAggregateFunctionTraits

SqlAggregateFunctionTraits instance to extend.

traits Chain<SqlTraitNode>

Collection of traits to parse.

Returns

SqlAggregateFunctionTraits

New SqlAggregateFunctionTraits instance.

ExtractDataSourceTraits(Chain<SqlTraitNode>)

Creates a new SqlDataSourceTraits instance.

[Pure]
public static SqlDataSourceTraits ExtractDataSourceTraits(Chain<SqlTraitNode> traits)

Parameters

traits Chain<SqlTraitNode>

Collection of traits to parse.

Returns

SqlDataSourceTraits

New SqlDataSourceTraits instance.

ExtractDataSourceTraits(SqlDataSourceTraits, Chain<SqlTraitNode>)

Creates a new SqlDataSourceTraits instance.

[Pure]
public static SqlDataSourceTraits ExtractDataSourceTraits(SqlDataSourceTraits @base, Chain<SqlTraitNode> traits)

Parameters

base SqlDataSourceTraits

SqlDataSourceTraits instance to extend.

traits Chain<SqlTraitNode>

Collection of traits to parse.

Returns

SqlDataSourceTraits

New SqlDataSourceTraits instance.

ExtractIdentityColumnNames(SqlTableNode)

Extracts names of columns that are part of the provided table's primary key constraint.

[Pure]
protected static string[] ExtractIdentityColumnNames(SqlTableNode node)

Parameters

node SqlTableNode

Table to process.

Returns

string[]

Collection of names of columns that are part of the provided table's primary key constraint.

ExtractNewTableDeleteInfo(SqlDeleteFromNode, SqlNewTableNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractNewTableDeleteInfo(SqlDeleteFromNode node, SqlNewTableNode target)

Parameters

node SqlDeleteFromNode

Source delete node.

target SqlNewTableNode

Target of the change.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

Exceptions

SqlNodeVisitorException

When identity columns from the target could not be extracted.

ExtractNewTableUpdateInfo(SqlUpdateNode, SqlNewTableNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractNewTableUpdateInfo(SqlUpdateNode node, SqlNewTableNode target)

Parameters

node SqlUpdateNode

Source update node.

target SqlNewTableNode

Target of the change.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

Exceptions

SqlNodeVisitorException

When identity columns from the target could not be extracted.

ExtractQueryTraits(Chain<SqlTraitNode>)

Creates a new SqlQueryTraits instance.

[Pure]
public static SqlQueryTraits ExtractQueryTraits(Chain<SqlTraitNode> traits)

Parameters

traits Chain<SqlTraitNode>

Collection of traits to parse.

Returns

SqlQueryTraits

New SqlQueryTraits instance.

ExtractQueryTraits(SqlQueryTraits, Chain<SqlTraitNode>)

Creates a new SqlQueryTraits instance.

[Pure]
public static SqlQueryTraits ExtractQueryTraits(SqlQueryTraits @base, Chain<SqlTraitNode> traits)

Parameters

base SqlQueryTraits

SqlQueryTraits instance to extend.

traits Chain<SqlTraitNode>

Collection of traits to parse.

Returns

SqlQueryTraits

New SqlQueryTraits instance.

ExtractTableBuilderDeleteInfo(SqlDeleteFromNode, SqlTableBuilderNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractTableBuilderDeleteInfo(SqlDeleteFromNode node, SqlTableBuilderNode target)

Parameters

node SqlDeleteFromNode

Source delete node.

target SqlTableBuilderNode

Target of the change.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

Exceptions

SqlNodeVisitorException

When identity columns from the target could not be extracted.

ExtractTableBuilderUpdateInfo(SqlUpdateNode, SqlTableBuilderNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractTableBuilderUpdateInfo(SqlUpdateNode node, SqlTableBuilderNode target)

Parameters

node SqlUpdateNode

Source update node.

target SqlTableBuilderNode

Target of the change.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

Exceptions

SqlNodeVisitorException

When identity columns from the target could not be extracted.

ExtractTableDeleteOrUpdateInfo(SqlTableNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected static SqlNodeInterpreter.ChangeTargetInfo ExtractTableDeleteOrUpdateInfo(SqlTableNode node)

Parameters

node SqlTableNode

Target of the change.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

ExtractTargetInfo(SqlDeleteFromNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractTargetInfo(SqlDeleteFromNode node)

Parameters

node SqlDeleteFromNode

Source delete node.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

Exceptions

SqlNodeVisitorException

When identity columns from the delete target could not be extracted or delete target is not aliased.

ExtractTargetInfo(SqlUpdateNode)

Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.

[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractTargetInfo(SqlUpdateNode node)

Parameters

node SqlUpdateNode

Source update node.

Returns

SqlNodeInterpreter.ChangeTargetInfo

New SqlNodeInterpreter.ChangeTargetInfo instance.

Exceptions

SqlNodeVisitorException

When identity columns from the update target could not be extracted or update target is not aliased.

ExtractUpsertConflictTargets(SqlUpsertNode)

Extracts a collection of data field nodes that define a default conflict target for an SqlUpsertNode.

[Pure]
protected SqlDataFieldNode[] ExtractUpsertConflictTargets(SqlUpsertNode node)

Parameters

node SqlUpsertNode

Source upsert node.

Returns

SqlDataFieldNode[]

Collection of SqlDataFieldNode instances that define the conflict target for the provided node.

Exceptions

SqlNodeVisitorException

When identity columns from the upsert target could not be extracted.

FilterTraits(Chain<SqlTraitNode>, Func<SqlTraitNode, bool>)

Filters a collection of traits with the provided predicate.

[Pure]
public static Chain<SqlTraitNode> FilterTraits(Chain<SqlTraitNode> traits, Func<SqlTraitNode, bool> predicate)

Parameters

traits Chain<SqlTraitNode>

Source collection of traits.

predicate Func<SqlTraitNode, bool>

Filtering predicate. Traits that cause this predicate to return false will be filtered out.

Returns

Chain<SqlTraitNode>

New collection of traits.

RemoveCommonTableExpressionTraits(Chain<SqlTraitNode>)

Creates a new collection of traits be excluding traits of CommonTableExpressionTrait type.

[Pure]
protected static Chain<SqlTraitNode> RemoveCommonTableExpressionTraits(Chain<SqlTraitNode> traits)

Parameters

traits Chain<SqlTraitNode>

Source collection of traits.

Returns

Chain<SqlTraitNode>

New collection of traits.

SeparateCommonTableExpressionTraits(Chain<SqlTraitNode>)

Creates two new collections of traits be separating traits of CommonTableExpressionTrait type.

[Pure]
protected static (Chain<SqlTraitNode> CommonTableExpressions, Chain<SqlTraitNode> Other) SeparateCommonTableExpressionTraits(Chain<SqlTraitNode> traits)

Parameters

traits Chain<SqlTraitNode>

Source collection of traits.

Returns

(Chain<SqlTraitNode> CommonTableExpressions, Chain<SqlTraitNode> Other)

A tuple whose first element is a collection of traits of only CommonTableExpressionTrait type and whose second element is a collection of traits without traits of CommonTableExpressionTrait type.

TempIgnoreAllRecordSets()

Updates the RecordSetNodeBehavior to ignore all occurrences of all record sets and returns a new SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

[Pure]
public SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange TempIgnoreAllRecordSets()

Returns

SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange

New SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

TempIgnoreRecordSet(SqlRecordSetNode)

Updates the RecordSetNodeBehavior to ignore all occurrences of the provided record set and returns a new SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

[Pure]
public SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange TempIgnoreRecordSet(SqlRecordSetNode node)

Parameters

node SqlRecordSetNode

Record set to ignore.

Returns

SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange

New SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

TempIncludeAllRecordSets()

Updates the RecordSetNodeBehavior to include all occurrences of all record sets as they are and returns a new SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

[Pure]
public SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange TempIncludeAllRecordSets()

Returns

SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange

New SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

TempReplaceRecordSet(SqlRecordSetNode, SqlRecordSetNode)

Updates the RecordSetNodeBehavior to replace all occurrences of the provided record set with another and returns a new SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

[Pure]
public SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange TempReplaceRecordSet(SqlRecordSetNode node, SqlRecordSetNode replacementNode)

Parameters

node SqlRecordSetNode

Record set to replace.

replacementNode SqlRecordSetNode

Replacement record set.

Returns

SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange

New SqlNodeInterpreter.TemporaryRecordSetNodeBehaviorRuleChange instance.

TryAppendDataFieldRecordSetNameBasedOnNodeBehavior(SqlDataFieldNode)

Attempts to append provided data field's record set's name to Context, based on the current RecordSetNodeBehavior rule.

protected void TryAppendDataFieldRecordSetNameBasedOnNodeBehavior(SqlDataFieldNode node)

Parameters

node SqlDataFieldNode

SQL data field node.

TryExtractIdentityColumnNames(SqlNewTableNode)

Attempts to extract names of columns that are part of the provided table's primary key constraint.

[Pure]
protected static string[]? TryExtractIdentityColumnNames(SqlNewTableNode node)

Parameters

node SqlNewTableNode

Table to process.

Returns

string[]

Collection of names of columns that are part of the provided table's primary key constraint or null when the extraction has failed.

Remarks

If table does not currently have a primary key, then all of its columns will be extracted. Extraction will fail when table does not have any columns or when its primary key does not have any columns, or any of primary key's columns is not a data field.

TryExtractIdentityColumnNames(SqlTableBuilderNode)

Attempts to extract names of columns that are part of the provided table's primary key constraint.

[Pure]
protected static string[]? TryExtractIdentityColumnNames(SqlTableBuilderNode node)

Parameters

node SqlTableBuilderNode

Table to process.

Returns

string[]

Collection of names of columns that are part of the provided table's primary key constraint or null when the extraction has failed.

Remarks

If table does not currently have a primary key, then all of its columns will be extracted. Extraction will fail when table does not have any columns.

VisitAbsFunction(SqlAbsFunctionExpressionNode)

public abstract void VisitAbsFunction(SqlAbsFunctionExpressionNode node)

Parameters

node SqlAbsFunctionExpressionNode

VisitAdd(SqlAddExpressionNode)

public virtual void VisitAdd(SqlAddExpressionNode node)

Parameters

node SqlAddExpressionNode

VisitAddColumn(SqlAddColumnNode)

Visits an SqlAddColumnNode.

public abstract void VisitAddColumn(SqlAddColumnNode node)

Parameters

node SqlAddColumnNode

VisitAggregationFilterTrait(SqlAggregationFilterTraitNode)

public virtual void VisitAggregationFilterTrait(SqlAggregationFilterTraitNode node)

Parameters

node SqlAggregationFilterTraitNode

VisitAggregationTrait(SqlAggregationTraitNode)

public virtual void VisitAggregationTrait(SqlAggregationTraitNode node)

Parameters

node SqlAggregationTraitNode

VisitAnd(SqlAndConditionNode)

public virtual void VisitAnd(SqlAndConditionNode node)

Parameters

node SqlAndConditionNode

VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode)

public abstract void VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode node)

Parameters

node SqlAverageAggregateFunctionExpressionNode

VisitBeginTransaction(SqlBeginTransactionNode)

public abstract void VisitBeginTransaction(SqlBeginTransactionNode node)

Parameters

node SqlBeginTransactionNode

VisitBetween(SqlBetweenConditionNode)

public virtual void VisitBetween(SqlBetweenConditionNode node)

Parameters

node SqlBetweenConditionNode

VisitBitwiseAnd(SqlBitwiseAndExpressionNode)

public virtual void VisitBitwiseAnd(SqlBitwiseAndExpressionNode node)

Parameters

node SqlBitwiseAndExpressionNode

VisitBitwiseLeftShift(SqlBitwiseLeftShiftExpressionNode)

public virtual void VisitBitwiseLeftShift(SqlBitwiseLeftShiftExpressionNode node)

Parameters

node SqlBitwiseLeftShiftExpressionNode

VisitBitwiseNot(SqlBitwiseNotExpressionNode)

public virtual void VisitBitwiseNot(SqlBitwiseNotExpressionNode node)

Parameters

node SqlBitwiseNotExpressionNode

VisitBitwiseOr(SqlBitwiseOrExpressionNode)

public virtual void VisitBitwiseOr(SqlBitwiseOrExpressionNode node)

Parameters

node SqlBitwiseOrExpressionNode

VisitBitwiseRightShift(SqlBitwiseRightShiftExpressionNode)

public virtual void VisitBitwiseRightShift(SqlBitwiseRightShiftExpressionNode node)

Parameters

node SqlBitwiseRightShiftExpressionNode

VisitBitwiseXor(SqlBitwiseXorExpressionNode)

public virtual void VisitBitwiseXor(SqlBitwiseXorExpressionNode node)

Parameters

node SqlBitwiseXorExpressionNode

VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode)

public abstract void VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode node)

Parameters

node SqlByteLengthFunctionExpressionNode

VisitCeilingFunction(SqlCeilingFunctionExpressionNode)

public abstract void VisitCeilingFunction(SqlCeilingFunctionExpressionNode node)

Parameters

node SqlCeilingFunctionExpressionNode

VisitCheckDefinition(SqlCheckDefinitionNode)

public abstract void VisitCheckDefinition(SqlCheckDefinitionNode node)

Parameters

node SqlCheckDefinitionNode

VisitChild(SqlNodeBase)

Visits an SqlNodeBase as a child node.

public void VisitChild(SqlNodeBase node)

Parameters

node SqlNodeBase

Node to visit.

VisitChildWrappedInParentheses(SqlNodeBase)

Visits a child SQL node wrapped in parentheses.

protected void VisitChildWrappedInParentheses(SqlNodeBase node)

Parameters

node SqlNodeBase

Node to visit.

VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode)

public virtual void VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode node)

Parameters

node SqlCoalesceFunctionExpressionNode

VisitColumn(SqlColumnNode)

Visits an SqlColumnNode.

public virtual void VisitColumn(SqlColumnNode node)

Parameters

node SqlColumnNode

VisitColumnBuilder(SqlColumnBuilderNode)

public virtual void VisitColumnBuilder(SqlColumnBuilderNode node)

Parameters

node SqlColumnBuilderNode

VisitColumnDefinition(SqlColumnDefinitionNode)

public abstract void VisitColumnDefinition(SqlColumnDefinitionNode node)

Parameters

node SqlColumnDefinitionNode

VisitCommitTransaction(SqlCommitTransactionNode)

public virtual void VisitCommitTransaction(SqlCommitTransactionNode node)

Parameters

node SqlCommitTransactionNode

VisitCommonTableExpression(SqlCommonTableExpressionNode)

public virtual void VisitCommonTableExpression(SqlCommonTableExpressionNode node)

Parameters

node SqlCommonTableExpressionNode

VisitCommonTableExpressionRecordSet(SqlCommonTableExpressionRecordSetNode)

public virtual void VisitCommonTableExpressionRecordSet(SqlCommonTableExpressionRecordSetNode node)

Parameters

node SqlCommonTableExpressionRecordSetNode

VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode)

public virtual void VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode node)

Parameters

node SqlCommonTableExpressionTraitNode

VisitCompoundQuery(SqlCompoundQueryExpressionNode)

public virtual void VisitCompoundQuery(SqlCompoundQueryExpressionNode node)

Parameters

node SqlCompoundQueryExpressionNode

VisitCompoundQueryComponent(SqlCompoundQueryComponentNode)

public virtual void VisitCompoundQueryComponent(SqlCompoundQueryComponentNode node)

Parameters

node SqlCompoundQueryComponentNode

VisitCompoundQueryComponents(SqlCompoundQueryExpressionNode, in SqlQueryTraits)

Visits FirstQuery and FollowingQueries of the provided node, including any relevant traits.

protected virtual void VisitCompoundQueryComponents(SqlCompoundQueryExpressionNode node, in SqlQueryTraits traits)

Parameters

node SqlCompoundQueryExpressionNode

SQL compound query expression node.

traits SqlQueryTraits

Collection of traits.

VisitConcat(SqlConcatExpressionNode)

public virtual void VisitConcat(SqlConcatExpressionNode node)

Parameters

node SqlConcatExpressionNode

VisitConditionValue(SqlConditionValueNode)

public virtual void VisitConditionValue(SqlConditionValueNode node)

Parameters

node SqlConditionValueNode

VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode)

public abstract void VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode node)

Parameters

node SqlCountAggregateFunctionExpressionNode

VisitCreateIndex(SqlCreateIndexNode)

Visits an SqlCreateIndexNode.

public abstract void VisitCreateIndex(SqlCreateIndexNode node)

Parameters

node SqlCreateIndexNode

VisitCreateTable(SqlCreateTableNode)

Visits an SqlCreateTableNode.

public abstract void VisitCreateTable(SqlCreateTableNode node)

Parameters

node SqlCreateTableNode

VisitCreateTableDefinition(SqlCreateTableNode)

Visits components of an SqlCreateTableNode.

protected void VisitCreateTableDefinition(SqlCreateTableNode node)

Parameters

node SqlCreateTableNode

Node to visit.

VisitCreateView(SqlCreateViewNode)

Visits an SqlCreateViewNode.

public abstract void VisitCreateView(SqlCreateViewNode node)

Parameters

node SqlCreateViewNode

VisitCumulativeDistributionWindowFunction(SqlCumulativeDistributionWindowFunctionExpressionNode)

public abstract void VisitCumulativeDistributionWindowFunction(SqlCumulativeDistributionWindowFunctionExpressionNode node)

Parameters

node SqlCumulativeDistributionWindowFunctionExpressionNode

VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode)

public abstract void VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode node)

Parameters

node SqlCurrentDateFunctionExpressionNode

VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode)

public abstract void VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode node)

Parameters

node SqlCurrentDateTimeFunctionExpressionNode

VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode)

public abstract void VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode node)

Parameters

node SqlCurrentTimeFunctionExpressionNode

VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode)

public abstract void VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode node)

Parameters

node SqlCurrentTimestampFunctionExpressionNode

VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode)

public abstract void VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode node)

Parameters

node SqlCurrentUtcDateTimeFunctionExpressionNode

VisitCustom(SqlNodeBase)

Visits an SqlNodeBase with Unknown type.

public virtual void VisitCustom(SqlNodeBase node)

Parameters

node SqlNodeBase

VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode)

public virtual void VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode node)

Parameters

node SqlAggregateFunctionExpressionNode

VisitCustomFunction(SqlFunctionExpressionNode)

Visits an SqlFunctionExpressionNode with Custom type.

public virtual void VisitCustomFunction(SqlFunctionExpressionNode node)

Parameters

node SqlFunctionExpressionNode

VisitCustomWindowFrame(SqlWindowFrameNode)

Visits an SqlWindowFrameNode with Custom type.

protected virtual void VisitCustomWindowFrame(SqlWindowFrameNode node)

Parameters

node SqlWindowFrameNode

Node to visit.

Exceptions

UnrecognizedSqlNodeException

Custom window frames are not supported by default.

VisitDataSource(SqlDataSourceNode)

Visits an SqlDataSourceNode.

public virtual void VisitDataSource(SqlDataSourceNode node)

Parameters

node SqlDataSourceNode

VisitDataSourceAfterTraits(in SqlDataSourceTraits)

Visits all relevant SQL data source traits that should be at the end of an SQL statement.

protected virtual void VisitDataSourceAfterTraits(in SqlDataSourceTraits traits)

Parameters

traits SqlDataSourceTraits

Collection of traits.

VisitDataSourceBeforeTraits(in SqlDataSourceTraits)

Visits all relevant SQL data source traits that should be at the beginning of an SQL statement.

protected virtual void VisitDataSourceBeforeTraits(in SqlDataSourceTraits traits)

Parameters

traits SqlDataSourceTraits

Collection of traits.

VisitDataSourceQuery(SqlDataSourceQueryExpressionNode)

public virtual void VisitDataSourceQuery(SqlDataSourceQueryExpressionNode node)

Parameters

node SqlDataSourceQueryExpressionNode

VisitDataSourceQuerySelection(SqlDataSourceQueryExpressionNode, in SqlDataSourceTraits)

Visits Selection of the provided node, including any relevant traits.

protected virtual void VisitDataSourceQuerySelection(SqlDataSourceQueryExpressionNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDataSourceQueryExpressionNode

SQL data source query expression node.

traits SqlDataSourceTraits

Collection of traits.

VisitDeleteFrom(SqlDeleteFromNode)

Visits an SqlDeleteFromNode.

public abstract void VisitDeleteFrom(SqlDeleteFromNode node)

Parameters

node SqlDeleteFromNode

VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode)

public abstract void VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode node)

Parameters

node SqlDenseRankWindowFunctionExpressionNode

VisitDistinctTrait(SqlDistinctTraitNode)

public virtual void VisitDistinctTrait(SqlDistinctTraitNode node)

Parameters

node SqlDistinctTraitNode

VisitDivide(SqlDivideExpressionNode)

public virtual void VisitDivide(SqlDivideExpressionNode node)

Parameters

node SqlDivideExpressionNode

VisitDropColumn(SqlDropColumnNode)

Visits an SqlDropColumnNode.

public abstract void VisitDropColumn(SqlDropColumnNode node)

Parameters

node SqlDropColumnNode

VisitDropIndex(SqlDropIndexNode)

Visits an SqlDropIndexNode.

public abstract void VisitDropIndex(SqlDropIndexNode node)

Parameters

node SqlDropIndexNode

VisitDropTable(SqlDropTableNode)

Visits an SqlDropTableNode.

public abstract void VisitDropTable(SqlDropTableNode node)

Parameters

node SqlDropTableNode

VisitDropView(SqlDropViewNode)

Visits an SqlDropViewNode.

public abstract void VisitDropView(SqlDropViewNode node)

Parameters

node SqlDropViewNode

VisitEqualTo(SqlEqualToConditionNode)

public virtual void VisitEqualTo(SqlEqualToConditionNode node)

Parameters

node SqlEqualToConditionNode

VisitExists(SqlExistsConditionNode)

public virtual void VisitExists(SqlExistsConditionNode node)

Parameters

node SqlExistsConditionNode

VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode)

public abstract void VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode node)

Parameters

node SqlExtractDateFunctionExpressionNode

VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode)

public abstract void VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode node)

Parameters

node SqlExtractDayFunctionExpressionNode

VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode)

public abstract void VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode node)

Parameters

node SqlExtractTemporalUnitFunctionExpressionNode

VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode)

public abstract void VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode node)

Parameters

node SqlExtractTimeOfDayFunctionExpressionNode

VisitFalse(SqlFalseNode)

Visits an SqlFalseNode.

public virtual void VisitFalse(SqlFalseNode node)

Parameters

node SqlFalseNode

VisitFilterTrait(SqlFilterTraitNode)

Visits an SqlFilterTraitNode.

public virtual void VisitFilterTrait(SqlFilterTraitNode node)

Parameters

node SqlFilterTraitNode

VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode)

public abstract void VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode node)

Parameters

node SqlFirstValueWindowFunctionExpressionNode

VisitFloorFunction(SqlFloorFunctionExpressionNode)

public abstract void VisitFloorFunction(SqlFloorFunctionExpressionNode node)

Parameters

node SqlFloorFunctionExpressionNode

VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode)

public abstract void VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode node)

Parameters

node SqlForeignKeyDefinitionNode

VisitFunctionArguments(ReadOnlyArray<SqlExpressionNode>)

Sequentially visits all arguments of a simple SQL function node.

protected void VisitFunctionArguments(ReadOnlyArray<SqlExpressionNode> arguments)

Parameters

arguments ReadOnlyArray<SqlExpressionNode>

Collection of arguments to visit.

VisitGreaterThan(SqlGreaterThanConditionNode)

public virtual void VisitGreaterThan(SqlGreaterThanConditionNode node)

Parameters

node SqlGreaterThanConditionNode

VisitGreaterThanOrEqualTo(SqlGreaterThanOrEqualToConditionNode)

public virtual void VisitGreaterThanOrEqualTo(SqlGreaterThanOrEqualToConditionNode node)

Parameters

node SqlGreaterThanOrEqualToConditionNode

VisitIn(SqlInConditionNode)

Visits an SqlInConditionNode.

public virtual void VisitIn(SqlInConditionNode node)

Parameters

node SqlInConditionNode

VisitInQuery(SqlInQueryConditionNode)

public virtual void VisitInQuery(SqlInQueryConditionNode node)

Parameters

node SqlInQueryConditionNode

VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode)

public abstract void VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode node)

Parameters

node SqlIndexOfFunctionExpressionNode

VisitInfixBinaryOperator(SqlNodeBase, string, SqlNodeBase)

Visits an infix binary operator SQL node.

protected void VisitInfixBinaryOperator(SqlNodeBase left, string symbol, SqlNodeBase right)

Parameters

left SqlNodeBase

Left operand node.

symbol string

Operator's symbol.

right SqlNodeBase

Right operand node.

VisitInsertInto(SqlInsertIntoNode)

Visits an SqlInsertIntoNode.

public abstract void VisitInsertInto(SqlInsertIntoNode node)

Parameters

node SqlInsertIntoNode

VisitInsertIntoFields(SqlRecordSetNode, ReadOnlyArray<SqlDataFieldNode>)

Visits a part of an insert into SQL statement that includes the record set and its data fields.

protected void VisitInsertIntoFields(SqlRecordSetNode recordSet, ReadOnlyArray<SqlDataFieldNode> dataFields)

Parameters

recordSet SqlRecordSetNode

Target table.

dataFields ReadOnlyArray<SqlDataFieldNode>

Collection of data fields that this insertion refers to.

VisitInsertIntoFields(SqlInsertIntoNode)

Visits a part of an insert into SQL statement that includes the record set and its data fields.

protected void VisitInsertIntoFields(SqlInsertIntoNode node)

Parameters

node SqlInsertIntoNode

Source node.

VisitJoinOn(SqlDataSourceJoinOnNode)

public virtual void VisitJoinOn(SqlDataSourceJoinOnNode node)

Parameters

node SqlDataSourceJoinOnNode

VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode)

public abstract void VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode node)

Parameters

node SqlLagWindowFunctionExpressionNode

VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode)

public abstract void VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode node)

Parameters

node SqlLastIndexOfFunctionExpressionNode

VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode)

public abstract void VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode node)

Parameters

node SqlLastValueWindowFunctionExpressionNode

VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode)

public abstract void VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode node)

Parameters

node SqlLeadWindowFunctionExpressionNode

VisitLengthFunction(SqlLengthFunctionExpressionNode)

public abstract void VisitLengthFunction(SqlLengthFunctionExpressionNode node)

Parameters

node SqlLengthFunctionExpressionNode

VisitLessThan(SqlLessThanConditionNode)

public virtual void VisitLessThan(SqlLessThanConditionNode node)

Parameters

node SqlLessThanConditionNode

VisitLessThanOrEqualTo(SqlLessThanOrEqualToConditionNode)

public virtual void VisitLessThanOrEqualTo(SqlLessThanOrEqualToConditionNode node)

Parameters

node SqlLessThanOrEqualToConditionNode

VisitLike(SqlLikeConditionNode)

public virtual void VisitLike(SqlLikeConditionNode node)

Parameters

node SqlLikeConditionNode

VisitLimitTrait(SqlLimitTraitNode)

Visits an SqlLimitTraitNode.

public abstract void VisitLimitTrait(SqlLimitTraitNode node)

Parameters

node SqlLimitTraitNode

VisitLiteral(SqlLiteralNode)

Visits an SqlLiteralNode.

public abstract void VisitLiteral(SqlLiteralNode node)

Parameters

node SqlLiteralNode

VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode)

public abstract void VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode node)

Parameters

node SqlMaxAggregateFunctionExpressionNode

VisitMaxFunction(SqlMaxFunctionExpressionNode)

public abstract void VisitMaxFunction(SqlMaxFunctionExpressionNode node)

Parameters

node SqlMaxFunctionExpressionNode

VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode)

public abstract void VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode node)

Parameters

node SqlMinAggregateFunctionExpressionNode

VisitMinFunction(SqlMinFunctionExpressionNode)

public abstract void VisitMinFunction(SqlMinFunctionExpressionNode node)

Parameters

node SqlMinFunctionExpressionNode

VisitModulo(SqlModuloExpressionNode)

public virtual void VisitModulo(SqlModuloExpressionNode node)

Parameters

node SqlModuloExpressionNode

VisitMultiply(SqlMultiplyExpressionNode)

public virtual void VisitMultiply(SqlMultiplyExpressionNode node)

Parameters

node SqlMultiplyExpressionNode

VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode)

public abstract void VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode node)

Parameters

node SqlNTileWindowFunctionExpressionNode

VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode)

public abstract void VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode node)

Parameters

node SqlNamedAggregateFunctionExpressionNode

VisitNamedFunction(SqlNamedFunctionExpressionNode)

public virtual void VisitNamedFunction(SqlNamedFunctionExpressionNode node)

Parameters

node SqlNamedFunctionExpressionNode

VisitNamedFunctionRecordSet(SqlNamedFunctionRecordSetNode)

public virtual void VisitNamedFunctionRecordSet(SqlNamedFunctionRecordSetNode node)

Parameters

node SqlNamedFunctionRecordSetNode

VisitNegate(SqlNegateExpressionNode)

public virtual void VisitNegate(SqlNegateExpressionNode node)

Parameters

node SqlNegateExpressionNode

VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode)

public abstract void VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode node)

Parameters

node SqlNewGuidFunctionExpressionNode

VisitNewTable(SqlNewTableNode)

Visits an SqlNewTableNode.

public virtual void VisitNewTable(SqlNewTableNode node)

Parameters

node SqlNewTableNode

VisitNewView(SqlNewViewNode)

Visits an SqlNewViewNode.

public virtual void VisitNewView(SqlNewViewNode node)

Parameters

node SqlNewViewNode

VisitNotEqualTo(SqlNotEqualToConditionNode)

public virtual void VisitNotEqualTo(SqlNotEqualToConditionNode node)

Parameters

node SqlNotEqualToConditionNode

VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode)

public abstract void VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode node)

Parameters

node SqlNthValueWindowFunctionExpressionNode

VisitNull(SqlNullNode)

Visits an SqlNullNode.

public virtual void VisitNull(SqlNullNode node)

Parameters

node SqlNullNode

VisitOffsetTrait(SqlOffsetTraitNode)

Visits an SqlOffsetTraitNode.

public abstract void VisitOffsetTrait(SqlOffsetTraitNode node)

Parameters

node SqlOffsetTraitNode

VisitOptionalAggregationFilterCondition(SqlConditionNode?)

Visits an optional SqlConditionNode aggregation filter.

protected void VisitOptionalAggregationFilterCondition(SqlConditionNode? filter)

Parameters

filter SqlConditionNode

Node to visit.

VisitOptionalAggregationRange(Chain<ReadOnlyArray<SqlExpressionNode>>)

Visits an optional collection of aggregating SqlExpressionNode instances.

protected void VisitOptionalAggregationRange(Chain<ReadOnlyArray<SqlExpressionNode>> aggregations)

Parameters

aggregations Chain<ReadOnlyArray<SqlExpressionNode>>

Collection of nodes to visit.

VisitOptionalCommonTableExpressionRange(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>, bool)

Visits an optional collection of SqlCommonTableExpressionNode instances.

protected void VisitOptionalCommonTableExpressionRange(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> commonTableExpressions, bool addRecursiveKeyword)

Parameters

commonTableExpressions Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>

Collection of nodes to visit.

addRecursiveKeyword bool

Specifies whether or not any of the common table expressions to visit is recursive.

VisitOptionalDistinctMarker(SqlDistinctTraitNode?)

Visits an optional SqlDistinctTraitNode.

protected void VisitOptionalDistinctMarker(SqlDistinctTraitNode? distinct)

Parameters

distinct SqlDistinctTraitNode

Node to visit.

VisitOptionalFilterCondition(SqlConditionNode?)

Visits an optional SqlConditionNode filter.

protected void VisitOptionalFilterCondition(SqlConditionNode? filter)

Parameters

filter SqlConditionNode

Node to visit.

VisitOptionalOrderingRange(Chain<ReadOnlyArray<SqlOrderByNode>>)

Visits an optional collection of ordering SqlOrderByNode instances.

protected void VisitOptionalOrderingRange(Chain<ReadOnlyArray<SqlOrderByNode>> ordering)

Parameters

ordering Chain<ReadOnlyArray<SqlOrderByNode>>

Collection of nodes to visit.

VisitOptionalWindowRange(Chain<ReadOnlyArray<SqlWindowDefinitionNode>>)

Visits an optional collection of SqlWindowDefinitionNode instances.

protected void VisitOptionalWindowRange(Chain<ReadOnlyArray<SqlWindowDefinitionNode>> windows)

Parameters

windows Chain<ReadOnlyArray<SqlWindowDefinitionNode>>

Collection of nodes to visit.

VisitOr(SqlOrConditionNode)

Visits an SqlOrConditionNode.

public virtual void VisitOr(SqlOrConditionNode node)

Parameters

node SqlOrConditionNode

VisitOrderBy(SqlOrderByNode)

Visits an SqlOrderByNode.

public virtual void VisitOrderBy(SqlOrderByNode node)

Parameters

node SqlOrderByNode

VisitParameter(SqlParameterNode)

Visits an SqlParameterNode.

public abstract void VisitParameter(SqlParameterNode node)

Parameters

node SqlParameterNode

VisitPowerFunction(SqlPowerFunctionExpressionNode)

public abstract void VisitPowerFunction(SqlPowerFunctionExpressionNode node)

Parameters

node SqlPowerFunctionExpressionNode

VisitPrefixUnaryOperator(SqlNodeBase, string)

Visits a prefix unary operator SQL node.

protected void VisitPrefixUnaryOperator(SqlNodeBase value, string symbol)

Parameters

value SqlNodeBase

Operand node.

symbol string

Operator's symbol.

VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode)

public abstract void VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode node)

Parameters

node SqlPrimaryKeyDefinitionNode

VisitQueryAfterTraits(in SqlQueryTraits)

Visits all relevant SQL query traits that should be at the end of an SQL statement.

protected virtual void VisitQueryAfterTraits(in SqlQueryTraits traits)

Parameters

traits SqlQueryTraits

Collection of traits.

VisitQueryBeforeTraits(in SqlQueryTraits)

Visits all relevant SQL query traits that should be at the beginning of an SQL statement.

protected virtual void VisitQueryBeforeTraits(in SqlQueryTraits traits)

Parameters

traits SqlQueryTraits

Collection of traits.

VisitQueryDataField(SqlQueryDataFieldNode)

public virtual void VisitQueryDataField(SqlQueryDataFieldNode node)

Parameters

node SqlQueryDataFieldNode

VisitQueryRecordSet(SqlQueryRecordSetNode)

public virtual void VisitQueryRecordSet(SqlQueryRecordSetNode node)

Parameters

node SqlQueryRecordSetNode

VisitRangeWindowFrame(SqlWindowFrameNode)

Visits an SqlWindowFrameNode with Range type.

protected virtual void VisitRangeWindowFrame(SqlWindowFrameNode node)

Parameters

node SqlWindowFrameNode

Node to visit.

VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode)

public abstract void VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode node)

Parameters

node SqlRankWindowFunctionExpressionNode

VisitRawCondition(SqlRawConditionNode)

public virtual void VisitRawCondition(SqlRawConditionNode node)

Parameters

node SqlRawConditionNode

VisitRawDataField(SqlRawDataFieldNode)

public virtual void VisitRawDataField(SqlRawDataFieldNode node)

Parameters

node SqlRawDataFieldNode

VisitRawExpression(SqlRawExpressionNode)

public virtual void VisitRawExpression(SqlRawExpressionNode node)

Parameters

node SqlRawExpressionNode

VisitRawQuery(SqlRawQueryExpressionNode)

public virtual void VisitRawQuery(SqlRawQueryExpressionNode node)

Parameters

node SqlRawQueryExpressionNode

VisitRawRecordSet(SqlRawRecordSetNode)

public virtual void VisitRawRecordSet(SqlRawRecordSetNode node)

Parameters

node SqlRawRecordSetNode

VisitRawStatement(SqlRawStatementNode)

public virtual void VisitRawStatement(SqlRawStatementNode node)

Parameters

node SqlRawStatementNode

VisitRenameColumn(SqlRenameColumnNode)

public abstract void VisitRenameColumn(SqlRenameColumnNode node)

Parameters

node SqlRenameColumnNode

VisitRenameTable(SqlRenameTableNode)

Visits an SqlRenameTableNode.

public abstract void VisitRenameTable(SqlRenameTableNode node)

Parameters

node SqlRenameTableNode

VisitReplaceFunction(SqlReplaceFunctionExpressionNode)

public abstract void VisitReplaceFunction(SqlReplaceFunctionExpressionNode node)

Parameters

node SqlReplaceFunctionExpressionNode

VisitReverseFunction(SqlReverseFunctionExpressionNode)

public abstract void VisitReverseFunction(SqlReverseFunctionExpressionNode node)

Parameters

node SqlReverseFunctionExpressionNode

VisitRollbackTransaction(SqlRollbackTransactionNode)

public virtual void VisitRollbackTransaction(SqlRollbackTransactionNode node)

Parameters

node SqlRollbackTransactionNode

VisitRoundFunction(SqlRoundFunctionExpressionNode)

public abstract void VisitRoundFunction(SqlRoundFunctionExpressionNode node)

Parameters

node SqlRoundFunctionExpressionNode

VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode)

public abstract void VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode node)

Parameters

node SqlRowNumberWindowFunctionExpressionNode

VisitRowsWindowFrame(SqlWindowFrameNode)

Visits an SqlWindowFrameNode with Rows type.

protected virtual void VisitRowsWindowFrame(SqlWindowFrameNode node)

Parameters

node SqlWindowFrameNode

Node to visit.

VisitSelectAll(SqlSelectAllNode)

Visits an SqlSelectAllNode.

public virtual void VisitSelectAll(SqlSelectAllNode node)

Parameters

node SqlSelectAllNode

VisitSelectCompoundField(SqlSelectCompoundFieldNode)

public virtual void VisitSelectCompoundField(SqlSelectCompoundFieldNode node)

Parameters

node SqlSelectCompoundFieldNode

VisitSelectExpression(SqlSelectExpressionNode)

public virtual void VisitSelectExpression(SqlSelectExpressionNode node)

Parameters

node SqlSelectExpressionNode

VisitSelectField(SqlSelectFieldNode)

Visits an SqlSelectFieldNode.

public virtual void VisitSelectField(SqlSelectFieldNode node)

Parameters

node SqlSelectFieldNode

VisitSelectRecordSet(SqlSelectRecordSetNode)

public virtual void VisitSelectRecordSet(SqlSelectRecordSetNode node)

Parameters

node SqlSelectRecordSetNode

VisitSignFunction(SqlSignFunctionExpressionNode)

public abstract void VisitSignFunction(SqlSignFunctionExpressionNode node)

Parameters

node SqlSignFunctionExpressionNode

VisitSimpleFunction(string, SqlFunctionExpressionNode)

Visits a simple SQL function node.

protected void VisitSimpleFunction(string functionName, SqlFunctionExpressionNode node)

Parameters

functionName string

Name of the function.

node SqlFunctionExpressionNode

SQL function expression node.

VisitSortTrait(SqlSortTraitNode)

Visits an SqlSortTraitNode.

public virtual void VisitSortTrait(SqlSortTraitNode node)

Parameters

node SqlSortTraitNode

VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode)

public abstract void VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode node)

Parameters

node SqlSquareRootFunctionExpressionNode

VisitStatementBatch(SqlStatementBatchNode)

public virtual void VisitStatementBatch(SqlStatementBatchNode node)

Parameters

node SqlStatementBatchNode

VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode)

public abstract void VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode node)

Parameters

node SqlStringConcatAggregateFunctionExpressionNode

VisitSubstringFunction(SqlSubstringFunctionExpressionNode)

public abstract void VisitSubstringFunction(SqlSubstringFunctionExpressionNode node)

Parameters

node SqlSubstringFunctionExpressionNode

VisitSubtract(SqlSubtractExpressionNode)

public virtual void VisitSubtract(SqlSubtractExpressionNode node)

Parameters

node SqlSubtractExpressionNode

VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode)

public abstract void VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode node)

Parameters

node SqlSumAggregateFunctionExpressionNode

VisitSwitch(SqlSwitchExpressionNode)

public virtual void VisitSwitch(SqlSwitchExpressionNode node)

Parameters

node SqlSwitchExpressionNode

VisitSwitchCase(SqlSwitchCaseNode)

Visits an SqlSwitchCaseNode.

public virtual void VisitSwitchCase(SqlSwitchCaseNode node)

Parameters

node SqlSwitchCaseNode

VisitTable(SqlTableNode)

Visits an SqlTableNode.

public virtual void VisitTable(SqlTableNode node)

Parameters

node SqlTableNode

VisitTableBuilder(SqlTableBuilderNode)

public virtual void VisitTableBuilder(SqlTableBuilderNode node)

Parameters

node SqlTableBuilderNode

VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode)

public abstract void VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode node)

Parameters

node SqlTemporalAddFunctionExpressionNode

VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode)

public abstract void VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode node)

Parameters

node SqlTemporalDiffFunctionExpressionNode

VisitToLowerFunction(SqlToLowerFunctionExpressionNode)

public abstract void VisitToLowerFunction(SqlToLowerFunctionExpressionNode node)

Parameters

node SqlToLowerFunctionExpressionNode

VisitToUpperFunction(SqlToUpperFunctionExpressionNode)

public abstract void VisitToUpperFunction(SqlToUpperFunctionExpressionNode node)

Parameters

node SqlToUpperFunctionExpressionNode

VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode)

public abstract void VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode node)

Parameters

node SqlTrimEndFunctionExpressionNode

VisitTrimFunction(SqlTrimFunctionExpressionNode)

public abstract void VisitTrimFunction(SqlTrimFunctionExpressionNode node)

Parameters

node SqlTrimFunctionExpressionNode

VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode)

public abstract void VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode node)

Parameters

node SqlTrimStartFunctionExpressionNode

VisitTrue(SqlTrueNode)

Visits an SqlTrueNode.

public virtual void VisitTrue(SqlTrueNode node)

Parameters

node SqlTrueNode

VisitTruncate(SqlTruncateNode)

Visits an SqlTruncateNode.

public virtual void VisitTruncate(SqlTruncateNode node)

Parameters

node SqlTruncateNode

VisitTruncateFunction(SqlTruncateFunctionExpressionNode)

public abstract void VisitTruncateFunction(SqlTruncateFunctionExpressionNode node)

Parameters

node SqlTruncateFunctionExpressionNode

VisitTypeCast(SqlTypeCastExpressionNode)

public abstract void VisitTypeCast(SqlTypeCastExpressionNode node)

Parameters

node SqlTypeCastExpressionNode

VisitUpdate(SqlUpdateNode)

Visits an SqlUpdateNode.

public abstract void VisitUpdate(SqlUpdateNode node)

Parameters

node SqlUpdateNode

VisitUpdateAssignmentRange(ReadOnlyArray<SqlValueAssignmentNode>)

Visits a collection of SqlValueAssignmentNode instances.

protected void VisitUpdateAssignmentRange(ReadOnlyArray<SqlValueAssignmentNode> assignments)

Parameters

assignments ReadOnlyArray<SqlValueAssignmentNode>

Collection of nodes to visit.

VisitUpsert(SqlUpsertNode)

Visits an SqlUpsertNode.

public abstract void VisitUpsert(SqlUpsertNode node)

Parameters

node SqlUpsertNode

VisitValueAssignment(SqlValueAssignmentNode)

public virtual void VisitValueAssignment(SqlValueAssignmentNode node)

Parameters

node SqlValueAssignmentNode

VisitValues(SqlValuesNode)

Visits an SqlValuesNode.

public virtual void VisitValues(SqlValuesNode node)

Parameters

node SqlValuesNode

VisitView(SqlViewNode)

Visits an SqlViewNode.

public virtual void VisitView(SqlViewNode node)

Parameters

node SqlViewNode

VisitViewBuilder(SqlViewBuilderNode)

Visits an SqlViewBuilderNode.

public virtual void VisitViewBuilder(SqlViewBuilderNode node)

Parameters

node SqlViewBuilderNode

VisitViewDataField(SqlViewDataFieldNode)

public virtual void VisitViewDataField(SqlViewDataFieldNode node)

Parameters

node SqlViewDataFieldNode

VisitWindowDefinition(SqlWindowDefinitionNode)

public virtual void VisitWindowDefinition(SqlWindowDefinitionNode node)

Parameters

node SqlWindowDefinitionNode

VisitWindowDefinitionTrait(SqlWindowDefinitionTraitNode)

public virtual void VisitWindowDefinitionTrait(SqlWindowDefinitionTraitNode node)

Parameters

node SqlWindowDefinitionTraitNode

VisitWindowFrame(SqlWindowFrameNode)

Visits an SqlWindowFrameNode.

public void VisitWindowFrame(SqlWindowFrameNode node)

Parameters

node SqlWindowFrameNode

VisitWindowTrait(SqlWindowTraitNode)

Visits an SqlWindowTraitNode.

public virtual void VisitWindowTrait(SqlWindowTraitNode node)

Parameters

node SqlWindowTraitNode