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
SqlNodeInterpreterContextUnderlying SqlNodeInterpreterContext instance.
beginNameDelimiter
charSpecifies the beginning name delimiter symbol.
endNameDelimiter
charSpecifies the ending name delimiter symbol.
Fields
BeginNameDelimiter
Specifies the beginning name delimiter symbol.
public readonly char BeginNameDelimiter
Field Value
EndNameDelimiter
Specifies the ending name delimiter symbol.
public readonly char EndNameDelimiter
Field Value
Properties
Context
Underlying SqlNodeInterpreterContext instance.
public SqlNodeInterpreterContext Context { get; }
Property Value
RecordSetNodeBehavior
Specifies the current SqlNodeInterpreter.RecordSetNodeBehaviorRule instance.
public SqlNodeInterpreter.RecordSetNodeBehaviorRule? RecordSetNodeBehavior { get; }
Property Value
Methods
AddContextParameter(SqlParameterNode)
Registers an SQL parameter in the Context.
protected virtual void AddContextParameter(SqlParameterNode node)
Parameters
node
SqlParameterNodeSQL parameter node to register.
AppendDelimitedAlias(string?)
Appends delimited alias to Context.
public void AppendDelimitedAlias(string? alias)
Parameters
alias
stringAlias to append.
AppendDelimitedDataFieldName(SqlRecordSetInfo, string)
Appends delimited data field's name to Context.
public void AppendDelimitedDataFieldName(SqlRecordSetInfo recordSet, string name)
Parameters
recordSet
SqlRecordSetInfoRecord set name to append.
name
stringData field name to append.
AppendDelimitedName(string)
Appends delimited name to Context.
public void AppendDelimitedName(string name)
Parameters
name
stringName to append.
AppendDelimitedRecordSetInfo(SqlRecordSetInfo)
Appends delimited SqlRecordSetInfo to Context.
public void AppendDelimitedRecordSetInfo(SqlRecordSetInfo info)
Parameters
info
SqlRecordSetInfoSqlRecordSetInfo to append.
AppendDelimitedRecordSetName(SqlRecordSetNode)
Appends delimited name of the provided record set to Context.
public virtual void AppendDelimitedRecordSetName(SqlRecordSetNode node)
Parameters
node
SqlRecordSetNodeRecord set whose name should be appended.
AppendDelimitedSchemaObjectName(SqlSchemaObjectName)
Appends delimited schema object's name to Context.
public void AppendDelimitedSchemaObjectName(SqlSchemaObjectName name)
Parameters
name
SqlSchemaObjectNameName to append.
AppendDelimitedSchemaObjectName(string, string)
Appends delimited schema object's name to Context.
public virtual void AppendDelimitedSchemaObjectName(string schemaName, string objName)
Parameters
AppendDelimitedTemporaryObjectName(string)
Appends delimited name of a temporary SQL object to Context.
public virtual void AppendDelimitedTemporaryObjectName(string name)
Parameters
name
stringName to append.
AppendJoin(string, SqlDataSourceJoinOnNode)
Appends an SQL join statement to Context.
protected void AppendJoin(string joinType, SqlDataSourceJoinOnNode node)
Parameters
joinType
stringJoin operation type.
node
SqlDataSourceJoinOnNodeSQL data source join node.
AppendMultilineSql(ReadOnlySpan<char>)
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
SqlWindowFrameBoundaryBoundary 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.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
dataSource
SqlDataSourceNodeSqlDataSourceNode 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.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
node
SqlDeleteFromNodeSource 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.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
node
SqlUpdateNodeSource update node.
updateAssignmentsVisitor
SqlNodeInterpreter.ComplexUpdateAssignmentsVisitorOptional 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
SqlUpdateNodeSource 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
SqlNodeBaseNode to check.
Returns
- bool
true when node should be interpreted as a child node, otherwise false.
Remarks
See VisitChild(SqlNodeBase) and VisitChildWrappedInParentheses(SqlNodeBase) for more information.
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
SqlAggregateFunctionTraitsSqlAggregateFunctionTraits 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
SqlDataSourceTraitsSqlDataSourceTraits 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
SqlTableNodeTable 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
SqlDeleteFromNodeSource delete node.
target
SqlNewTableNodeTarget of the change.
Returns
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
SqlUpdateNodeSource update node.
target
SqlNewTableNodeTarget of the change.
Returns
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
SqlQueryTraitsSqlQueryTraits 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
SqlDeleteFromNodeSource delete node.
target
SqlTableBuilderNodeTarget of the change.
Returns
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
SqlUpdateNodeSource update node.
target
SqlTableBuilderNodeTarget of the change.
Returns
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
SqlTableNodeTarget of the change.
Returns
ExtractTargetInfo(SqlDeleteFromNode)
Creates a new SqlNodeInterpreter.ChangeTargetInfo instance.
[Pure]
protected SqlNodeInterpreter.ChangeTargetInfo ExtractTargetInfo(SqlDeleteFromNode node)
Parameters
node
SqlDeleteFromNodeSource delete node.
Returns
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
SqlUpdateNodeSource update node.
Returns
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
SqlUpsertNodeSource 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
SqlRecordSetNodeRecord 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
SqlRecordSetNodeRecord set to replace.
replacementNode
SqlRecordSetNodeReplacement 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
SqlDataFieldNodeSQL 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
SqlNewTableNodeTable 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
SqlTableBuilderNodeTable 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)
Visits an SqlAbsFunctionExpressionNode.
public abstract void VisitAbsFunction(SqlAbsFunctionExpressionNode node)
Parameters
VisitAdd(SqlAddExpressionNode)
Visits an 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)
Visits an SqlAggregationFilterTraitNode.
public virtual void VisitAggregationFilterTrait(SqlAggregationFilterTraitNode node)
Parameters
VisitAggregationTrait(SqlAggregationTraitNode)
Visits an SqlAggregationTraitNode.
public virtual void VisitAggregationTrait(SqlAggregationTraitNode node)
Parameters
VisitAnd(SqlAndConditionNode)
Visits an SqlAndConditionNode.
public virtual void VisitAnd(SqlAndConditionNode node)
Parameters
node
SqlAndConditionNode
VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode)
Visits an SqlAverageAggregateFunctionExpressionNode.
public abstract void VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode node)
Parameters
VisitBeginTransaction(SqlBeginTransactionNode)
Visits an SqlBeginTransactionNode.
public abstract void VisitBeginTransaction(SqlBeginTransactionNode node)
Parameters
VisitBetween(SqlBetweenConditionNode)
Visits an SqlBetweenConditionNode.
public virtual void VisitBetween(SqlBetweenConditionNode node)
Parameters
VisitBitwiseAnd(SqlBitwiseAndExpressionNode)
Visits an SqlBitwiseAndExpressionNode.
public virtual void VisitBitwiseAnd(SqlBitwiseAndExpressionNode node)
Parameters
VisitBitwiseLeftShift(SqlBitwiseLeftShiftExpressionNode)
Visits an SqlBitwiseLeftShiftExpressionNode.
public virtual void VisitBitwiseLeftShift(SqlBitwiseLeftShiftExpressionNode node)
Parameters
VisitBitwiseNot(SqlBitwiseNotExpressionNode)
Visits an SqlBitwiseNotExpressionNode.
public virtual void VisitBitwiseNot(SqlBitwiseNotExpressionNode node)
Parameters
VisitBitwiseOr(SqlBitwiseOrExpressionNode)
Visits an SqlBitwiseOrExpressionNode.
public virtual void VisitBitwiseOr(SqlBitwiseOrExpressionNode node)
Parameters
VisitBitwiseRightShift(SqlBitwiseRightShiftExpressionNode)
Visits an SqlBitwiseRightShiftExpressionNode.
public virtual void VisitBitwiseRightShift(SqlBitwiseRightShiftExpressionNode node)
Parameters
VisitBitwiseXor(SqlBitwiseXorExpressionNode)
Visits an SqlBitwiseXorExpressionNode.
public virtual void VisitBitwiseXor(SqlBitwiseXorExpressionNode node)
Parameters
VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode)
Visits an SqlByteLengthFunctionExpressionNode.
public abstract void VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode node)
Parameters
VisitCeilingFunction(SqlCeilingFunctionExpressionNode)
Visits an SqlCeilingFunctionExpressionNode.
public abstract void VisitCeilingFunction(SqlCeilingFunctionExpressionNode node)
Parameters
VisitCheckDefinition(SqlCheckDefinitionNode)
Visits an SqlCheckDefinitionNode.
public abstract void VisitCheckDefinition(SqlCheckDefinitionNode node)
Parameters
VisitChild(SqlNodeBase)
Visits an SqlNodeBase as a child node.
public void VisitChild(SqlNodeBase node)
Parameters
node
SqlNodeBaseNode to visit.
VisitChildWrappedInParentheses(SqlNodeBase)
Visits a child SQL node wrapped in parentheses.
protected void VisitChildWrappedInParentheses(SqlNodeBase node)
Parameters
node
SqlNodeBaseNode to visit.
VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode)
Visits an SqlCoalesceFunctionExpressionNode.
public virtual void VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode node)
Parameters
VisitColumn(SqlColumnNode)
Visits an SqlColumnNode.
public virtual void VisitColumn(SqlColumnNode node)
Parameters
node
SqlColumnNode
VisitColumnBuilder(SqlColumnBuilderNode)
Visits an SqlColumnBuilderNode.
public virtual void VisitColumnBuilder(SqlColumnBuilderNode node)
Parameters
node
SqlColumnBuilderNode
VisitColumnDefinition(SqlColumnDefinitionNode)
Visits an SqlColumnDefinitionNode.
public abstract void VisitColumnDefinition(SqlColumnDefinitionNode node)
Parameters
VisitCommitTransaction(SqlCommitTransactionNode)
Visits an SqlCommitTransactionNode.
public virtual void VisitCommitTransaction(SqlCommitTransactionNode node)
Parameters
VisitCommonTableExpression(SqlCommonTableExpressionNode)
Visits an SqlCommonTableExpressionNode.
public virtual void VisitCommonTableExpression(SqlCommonTableExpressionNode node)
Parameters
VisitCommonTableExpressionRecordSet(SqlCommonTableExpressionRecordSetNode)
Visits an SqlCommonTableExpressionRecordSetNode.
public virtual void VisitCommonTableExpressionRecordSet(SqlCommonTableExpressionRecordSetNode node)
Parameters
VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode)
Visits an SqlCommonTableExpressionTraitNode.
public virtual void VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode node)
Parameters
VisitCompoundQuery(SqlCompoundQueryExpressionNode)
Visits an SqlCompoundQueryExpressionNode.
public virtual void VisitCompoundQuery(SqlCompoundQueryExpressionNode node)
Parameters
VisitCompoundQueryComponent(SqlCompoundQueryComponentNode)
Visits an SqlCompoundQueryComponentNode.
public virtual void VisitCompoundQueryComponent(SqlCompoundQueryComponentNode node)
Parameters
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
SqlCompoundQueryExpressionNodeSQL compound query expression node.
traits
SqlQueryTraitsCollection of traits.
VisitConcat(SqlConcatExpressionNode)
Visits an SqlConcatExpressionNode.
public virtual void VisitConcat(SqlConcatExpressionNode node)
Parameters
VisitConditionValue(SqlConditionValueNode)
Visits an SqlConditionValueNode.
public virtual void VisitConditionValue(SqlConditionValueNode node)
Parameters
VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode)
Visits an SqlCountAggregateFunctionExpressionNode.
public abstract void VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode node)
Parameters
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
SqlCreateTableNodeNode 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
VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode)
Visits an SqlCurrentDateFunctionExpressionNode.
public abstract void VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode node)
Parameters
VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode)
Visits an SqlCurrentDateTimeFunctionExpressionNode.
public abstract void VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode node)
Parameters
VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode)
Visits an SqlCurrentTimeFunctionExpressionNode.
public abstract void VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode node)
Parameters
VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode)
Visits an SqlCurrentTimestampFunctionExpressionNode.
public abstract void VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode node)
Parameters
VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode)
Visits an SqlCurrentUtcDateTimeFunctionExpressionNode.
public abstract void VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode node)
Parameters
VisitCustom(SqlNodeBase)
Visits an SqlNodeBase with Unknown type.
public virtual void VisitCustom(SqlNodeBase node)
Parameters
node
SqlNodeBase
VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode)
Visits an SqlAggregateFunctionExpressionNode with Custom type.
public virtual void VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode node)
Parameters
VisitCustomFunction(SqlFunctionExpressionNode)
Visits an SqlFunctionExpressionNode with Custom type.
public virtual void VisitCustomFunction(SqlFunctionExpressionNode node)
Parameters
VisitCustomWindowFrame(SqlWindowFrameNode)
Visits an SqlWindowFrameNode with Custom type.
protected virtual void VisitCustomWindowFrame(SqlWindowFrameNode node)
Parameters
node
SqlWindowFrameNodeNode 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
SqlDataSourceTraitsCollection 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
SqlDataSourceTraitsCollection of traits.
VisitDataSourceQuery(SqlDataSourceQueryExpressionNode)
Visits an SqlDataSourceQueryExpressionNode.
public virtual void VisitDataSourceQuery(SqlDataSourceQueryExpressionNode node)
Parameters
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
SqlDataSourceQueryExpressionNodeSQL data source query expression node.
traits
SqlDataSourceTraitsCollection of traits.
VisitDeleteFrom(SqlDeleteFromNode)
Visits an SqlDeleteFromNode.
public abstract void VisitDeleteFrom(SqlDeleteFromNode node)
Parameters
node
SqlDeleteFromNode
VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode)
Visits an SqlDenseRankWindowFunctionExpressionNode.
public abstract void VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode node)
Parameters
VisitDistinctTrait(SqlDistinctTraitNode)
Visits an SqlDistinctTraitNode.
public virtual void VisitDistinctTrait(SqlDistinctTraitNode node)
Parameters
node
SqlDistinctTraitNode
VisitDivide(SqlDivideExpressionNode)
Visits an SqlDivideExpressionNode.
public virtual void VisitDivide(SqlDivideExpressionNode node)
Parameters
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)
Visits an SqlEqualToConditionNode.
public virtual void VisitEqualTo(SqlEqualToConditionNode node)
Parameters
VisitExists(SqlExistsConditionNode)
Visits an SqlExistsConditionNode.
public virtual void VisitExists(SqlExistsConditionNode node)
Parameters
VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode)
Visits an SqlExtractDateFunctionExpressionNode.
public abstract void VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode node)
Parameters
VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode)
Visits an SqlExtractDayFunctionExpressionNode.
public abstract void VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode node)
Parameters
VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode)
Visits an SqlExtractTemporalUnitFunctionExpressionNode.
public abstract void VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode node)
Parameters
VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode)
Visits an SqlExtractTimeOfDayFunctionExpressionNode.
public abstract void VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode node)
Parameters
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)
Visits an SqlFirstValueWindowFunctionExpressionNode.
public abstract void VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode node)
Parameters
VisitFloorFunction(SqlFloorFunctionExpressionNode)
Visits an SqlFloorFunctionExpressionNode.
public abstract void VisitFloorFunction(SqlFloorFunctionExpressionNode node)
Parameters
VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode)
Visits an SqlForeignKeyDefinitionNode.
public abstract void VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode node)
Parameters
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)
Visits an SqlGreaterThanConditionNode.
public virtual void VisitGreaterThan(SqlGreaterThanConditionNode node)
Parameters
VisitGreaterThanOrEqualTo(SqlGreaterThanOrEqualToConditionNode)
Visits an SqlGreaterThanOrEqualToConditionNode.
public virtual void VisitGreaterThanOrEqualTo(SqlGreaterThanOrEqualToConditionNode node)
Parameters
VisitIn(SqlInConditionNode)
Visits an SqlInConditionNode.
public virtual void VisitIn(SqlInConditionNode node)
Parameters
node
SqlInConditionNode
VisitInQuery(SqlInQueryConditionNode)
Visits an SqlInQueryConditionNode.
public virtual void VisitInQuery(SqlInQueryConditionNode node)
Parameters
VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode)
Visits an SqlIndexOfFunctionExpressionNode.
public abstract void VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode node)
Parameters
VisitInfixBinaryOperator(SqlNodeBase, string, SqlNodeBase)
Visits an infix binary operator SQL node.
protected void VisitInfixBinaryOperator(SqlNodeBase left, string symbol, SqlNodeBase right)
Parameters
left
SqlNodeBaseLeft operand node.
symbol
stringOperator's symbol.
right
SqlNodeBaseRight 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
SqlRecordSetNodeTarget 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
SqlInsertIntoNodeSource node.
VisitJoinOn(SqlDataSourceJoinOnNode)
Visits an SqlDataSourceJoinOnNode.
public virtual void VisitJoinOn(SqlDataSourceJoinOnNode node)
Parameters
VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode)
Visits an SqlLagWindowFunctionExpressionNode.
public abstract void VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode node)
Parameters
VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode)
Visits an SqlLastIndexOfFunctionExpressionNode.
public abstract void VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode node)
Parameters
VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode)
Visits an SqlLastValueWindowFunctionExpressionNode.
public abstract void VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode node)
Parameters
VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode)
Visits an SqlLeadWindowFunctionExpressionNode.
public abstract void VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode node)
Parameters
VisitLengthFunction(SqlLengthFunctionExpressionNode)
Visits an SqlLengthFunctionExpressionNode.
public abstract void VisitLengthFunction(SqlLengthFunctionExpressionNode node)
Parameters
VisitLessThan(SqlLessThanConditionNode)
Visits an SqlLessThanConditionNode.
public virtual void VisitLessThan(SqlLessThanConditionNode node)
Parameters
VisitLessThanOrEqualTo(SqlLessThanOrEqualToConditionNode)
Visits an SqlLessThanOrEqualToConditionNode.
public virtual void VisitLessThanOrEqualTo(SqlLessThanOrEqualToConditionNode node)
Parameters
VisitLike(SqlLikeConditionNode)
Visits an 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)
Visits an SqlMaxAggregateFunctionExpressionNode.
public abstract void VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode node)
Parameters
VisitMaxFunction(SqlMaxFunctionExpressionNode)
Visits an SqlMaxFunctionExpressionNode.
public abstract void VisitMaxFunction(SqlMaxFunctionExpressionNode node)
Parameters
VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode)
Visits an SqlMinAggregateFunctionExpressionNode.
public abstract void VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode node)
Parameters
VisitMinFunction(SqlMinFunctionExpressionNode)
Visits an SqlMinFunctionExpressionNode.
public abstract void VisitMinFunction(SqlMinFunctionExpressionNode node)
Parameters
VisitModulo(SqlModuloExpressionNode)
Visits an SqlModuloExpressionNode.
public virtual void VisitModulo(SqlModuloExpressionNode node)
Parameters
VisitMultiply(SqlMultiplyExpressionNode)
Visits an SqlMultiplyExpressionNode.
public virtual void VisitMultiply(SqlMultiplyExpressionNode node)
Parameters
VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode)
Visits an SqlNTileWindowFunctionExpressionNode.
public abstract void VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode node)
Parameters
VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode)
Visits an SqlNamedAggregateFunctionExpressionNode.
public abstract void VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode node)
Parameters
VisitNamedFunction(SqlNamedFunctionExpressionNode)
Visits an SqlNamedFunctionExpressionNode.
public virtual void VisitNamedFunction(SqlNamedFunctionExpressionNode node)
Parameters
VisitNamedFunctionRecordSet(SqlNamedFunctionRecordSetNode)
Visits an SqlNamedFunctionRecordSetNode.
public virtual void VisitNamedFunctionRecordSet(SqlNamedFunctionRecordSetNode node)
Parameters
VisitNegate(SqlNegateExpressionNode)
Visits an SqlNegateExpressionNode.
public virtual void VisitNegate(SqlNegateExpressionNode node)
Parameters
VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode)
Visits an SqlNewGuidFunctionExpressionNode.
public abstract void VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode node)
Parameters
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)
Visits an SqlNotEqualToConditionNode.
public virtual void VisitNotEqualTo(SqlNotEqualToConditionNode node)
Parameters
VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode)
Visits an SqlNthValueWindowFunctionExpressionNode.
public abstract void VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode node)
Parameters
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
SqlConditionNodeNode 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
boolSpecifies 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
SqlDistinctTraitNodeNode to visit.
VisitOptionalFilterCondition(SqlConditionNode?)
Visits an optional SqlConditionNode filter.
protected void VisitOptionalFilterCondition(SqlConditionNode? filter)
Parameters
filter
SqlConditionNodeNode 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)
Visits an SqlPowerFunctionExpressionNode.
public abstract void VisitPowerFunction(SqlPowerFunctionExpressionNode node)
Parameters
VisitPrefixUnaryOperator(SqlNodeBase, string)
Visits a prefix unary operator SQL node.
protected void VisitPrefixUnaryOperator(SqlNodeBase value, string symbol)
Parameters
value
SqlNodeBaseOperand node.
symbol
stringOperator's symbol.
VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode)
Visits an SqlPrimaryKeyDefinitionNode.
public abstract void VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode node)
Parameters
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
SqlQueryTraitsCollection 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
SqlQueryTraitsCollection of traits.
VisitQueryDataField(SqlQueryDataFieldNode)
Visits an SqlQueryDataFieldNode.
public virtual void VisitQueryDataField(SqlQueryDataFieldNode node)
Parameters
VisitQueryRecordSet(SqlQueryRecordSetNode)
Visits an SqlQueryRecordSetNode.
public virtual void VisitQueryRecordSet(SqlQueryRecordSetNode node)
Parameters
VisitRangeWindowFrame(SqlWindowFrameNode)
Visits an SqlWindowFrameNode with Range type.
protected virtual void VisitRangeWindowFrame(SqlWindowFrameNode node)
Parameters
node
SqlWindowFrameNodeNode to visit.
VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode)
Visits an SqlRankWindowFunctionExpressionNode.
public abstract void VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode node)
Parameters
VisitRawCondition(SqlRawConditionNode)
Visits an SqlRawConditionNode.
public virtual void VisitRawCondition(SqlRawConditionNode node)
Parameters
node
SqlRawConditionNode
VisitRawDataField(SqlRawDataFieldNode)
Visits an SqlRawDataFieldNode.
public virtual void VisitRawDataField(SqlRawDataFieldNode node)
Parameters
node
SqlRawDataFieldNode
VisitRawExpression(SqlRawExpressionNode)
Visits an SqlRawExpressionNode.
public virtual void VisitRawExpression(SqlRawExpressionNode node)
Parameters
node
SqlRawExpressionNode
VisitRawQuery(SqlRawQueryExpressionNode)
Visits an SqlRawQueryExpressionNode.
public virtual void VisitRawQuery(SqlRawQueryExpressionNode node)
Parameters
VisitRawRecordSet(SqlRawRecordSetNode)
Visits an SqlRawRecordSetNode.
public virtual void VisitRawRecordSet(SqlRawRecordSetNode node)
Parameters
node
SqlRawRecordSetNode
VisitRawStatement(SqlRawStatementNode)
Visits an SqlRawStatementNode.
public virtual void VisitRawStatement(SqlRawStatementNode node)
Parameters
node
SqlRawStatementNode
VisitRenameColumn(SqlRenameColumnNode)
Visits an 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)
Visits an SqlReplaceFunctionExpressionNode.
public abstract void VisitReplaceFunction(SqlReplaceFunctionExpressionNode node)
Parameters
VisitReverseFunction(SqlReverseFunctionExpressionNode)
Visits an SqlReverseFunctionExpressionNode.
public abstract void VisitReverseFunction(SqlReverseFunctionExpressionNode node)
Parameters
VisitRollbackTransaction(SqlRollbackTransactionNode)
Visits an SqlRollbackTransactionNode.
public virtual void VisitRollbackTransaction(SqlRollbackTransactionNode node)
Parameters
VisitRoundFunction(SqlRoundFunctionExpressionNode)
Visits an SqlRoundFunctionExpressionNode.
public abstract void VisitRoundFunction(SqlRoundFunctionExpressionNode node)
Parameters
VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode)
Visits an SqlRowNumberWindowFunctionExpressionNode.
public abstract void VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode node)
Parameters
VisitRowsWindowFrame(SqlWindowFrameNode)
Visits an SqlWindowFrameNode with Rows type.
protected virtual void VisitRowsWindowFrame(SqlWindowFrameNode node)
Parameters
node
SqlWindowFrameNodeNode to visit.
VisitSelectAll(SqlSelectAllNode)
Visits an SqlSelectAllNode.
public virtual void VisitSelectAll(SqlSelectAllNode node)
Parameters
node
SqlSelectAllNode
VisitSelectCompoundField(SqlSelectCompoundFieldNode)
Visits an SqlSelectCompoundFieldNode.
public virtual void VisitSelectCompoundField(SqlSelectCompoundFieldNode node)
Parameters
VisitSelectExpression(SqlSelectExpressionNode)
Visits an SqlSelectExpressionNode.
public virtual void VisitSelectExpression(SqlSelectExpressionNode node)
Parameters
VisitSelectField(SqlSelectFieldNode)
Visits an SqlSelectFieldNode.
public virtual void VisitSelectField(SqlSelectFieldNode node)
Parameters
node
SqlSelectFieldNode
VisitSelectRecordSet(SqlSelectRecordSetNode)
Visits an SqlSelectRecordSetNode.
public virtual void VisitSelectRecordSet(SqlSelectRecordSetNode node)
Parameters
VisitSignFunction(SqlSignFunctionExpressionNode)
Visits an SqlSignFunctionExpressionNode.
public abstract void VisitSignFunction(SqlSignFunctionExpressionNode node)
Parameters
VisitSimpleFunction(string, SqlFunctionExpressionNode)
Visits a simple SQL function node.
protected void VisitSimpleFunction(string functionName, SqlFunctionExpressionNode node)
Parameters
functionName
stringName of the function.
node
SqlFunctionExpressionNodeSQL function expression node.
VisitSortTrait(SqlSortTraitNode)
Visits an SqlSortTraitNode.
public virtual void VisitSortTrait(SqlSortTraitNode node)
Parameters
node
SqlSortTraitNode
VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode)
Visits an SqlSquareRootFunctionExpressionNode.
public abstract void VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode node)
Parameters
VisitStatementBatch(SqlStatementBatchNode)
Visits an SqlStatementBatchNode.
public virtual void VisitStatementBatch(SqlStatementBatchNode node)
Parameters
VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode)
public abstract void VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode node)
Parameters
VisitSubstringFunction(SqlSubstringFunctionExpressionNode)
Visits an SqlSubstringFunctionExpressionNode.
public abstract void VisitSubstringFunction(SqlSubstringFunctionExpressionNode node)
Parameters
VisitSubtract(SqlSubtractExpressionNode)
Visits an SqlSubtractExpressionNode.
public virtual void VisitSubtract(SqlSubtractExpressionNode node)
Parameters
VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode)
Visits an SqlSumAggregateFunctionExpressionNode.
public abstract void VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode node)
Parameters
VisitSwitch(SqlSwitchExpressionNode)
Visits an SqlSwitchExpressionNode.
public virtual void VisitSwitch(SqlSwitchExpressionNode node)
Parameters
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)
Visits an SqlTableBuilderNode.
public virtual void VisitTableBuilder(SqlTableBuilderNode node)
Parameters
node
SqlTableBuilderNode
VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode)
Visits an SqlTemporalAddFunctionExpressionNode.
public abstract void VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode node)
Parameters
VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode)
Visits an SqlTemporalDiffFunctionExpressionNode.
public abstract void VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode node)
Parameters
VisitToLowerFunction(SqlToLowerFunctionExpressionNode)
Visits an SqlToLowerFunctionExpressionNode.
public abstract void VisitToLowerFunction(SqlToLowerFunctionExpressionNode node)
Parameters
VisitToUpperFunction(SqlToUpperFunctionExpressionNode)
Visits an SqlToUpperFunctionExpressionNode.
public abstract void VisitToUpperFunction(SqlToUpperFunctionExpressionNode node)
Parameters
VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode)
Visits an SqlTrimEndFunctionExpressionNode.
public abstract void VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode node)
Parameters
VisitTrimFunction(SqlTrimFunctionExpressionNode)
Visits an SqlTrimFunctionExpressionNode.
public abstract void VisitTrimFunction(SqlTrimFunctionExpressionNode node)
Parameters
VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode)
Visits an SqlTrimStartFunctionExpressionNode.
public abstract void VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode node)
Parameters
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)
Visits an SqlTruncateFunctionExpressionNode.
public abstract void VisitTruncateFunction(SqlTruncateFunctionExpressionNode node)
Parameters
VisitTypeCast(SqlTypeCastExpressionNode)
Visits an SqlTypeCastExpressionNode.
public abstract void VisitTypeCast(SqlTypeCastExpressionNode node)
Parameters
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)
Visits an SqlValueAssignmentNode.
public virtual void VisitValueAssignment(SqlValueAssignmentNode node)
Parameters
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)
Visits an SqlViewDataFieldNode.
public virtual void VisitViewDataField(SqlViewDataFieldNode node)
Parameters
node
SqlViewDataFieldNode
VisitWindowDefinition(SqlWindowDefinitionNode)
Visits an SqlWindowDefinitionNode.
public virtual void VisitWindowDefinition(SqlWindowDefinitionNode node)
Parameters
VisitWindowDefinitionTrait(SqlWindowDefinitionTraitNode)
Visits an SqlWindowDefinitionTraitNode.
public virtual void VisitWindowDefinitionTrait(SqlWindowDefinitionTraitNode node)
Parameters
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