Table of Contents

Class MySqlNodeInterpreter

Namespace
LfrlAnvil.MySql
Assembly
LfrlAnvil.MySql.dll

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

public class MySqlNodeInterpreter : SqlNodeInterpreter, ISqlNodeVisitor
Inheritance
MySqlNodeInterpreter
Implements
Inherited Members

Remarks

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

Constructors

MySqlNodeInterpreter(MySqlNodeInterpreterOptions, SqlNodeInterpreterContext)

Creates a new MySqlNodeInterpreter instance.

public MySqlNodeInterpreter(MySqlNodeInterpreterOptions options, SqlNodeInterpreterContext context)

Parameters

options MySqlNodeInterpreterOptions

MySqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.

context SqlNodeInterpreterContext

Underlying SqlNodeInterpreterContext instance.

Properties

CommonSchemaName

Name of the common DB schema.

public string CommonSchemaName { get; }

Property Value

string

Options

MySqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.

public MySqlNodeInterpreterOptions Options { get; }

Property Value

MySqlNodeInterpreterOptions

TypeDefinitions

MySqlColumnTypeDefinitionProvider instance associated with this interpreter.

public MySqlColumnTypeDefinitionProvider TypeDefinitions { get; }

Property Value

MySqlColumnTypeDefinitionProvider

Methods

AddContextParameter(SqlParameterNode)

Registers an SQL parameter in the Context.

protected override void AddContextParameter(SqlParameterNode node)

Parameters

node SqlParameterNode

SQL parameter node to register.

AppendDelimitedTemporaryObjectName(string)

Appends delimited name of a temporary SQL object to Context.

public override sealed void AppendDelimitedTemporaryObjectName(string name)

Parameters

name string

Name to append.

AppendUpsertOnDuplicateKey(SqlUpsertNode)

Appends an SQL upsert's ON DUPLICATE KEY UPDATE part to Context.

protected void AppendUpsertOnDuplicateKey(SqlUpsertNode node)

Parameters

node SqlUpsertNode

SQL upsert node.

AppendUpsertSourceAlias(SqlUpsertNode, bool)

Appends an SQL upsert's value source's alias to Context.

protected void AppendUpsertSourceAlias(SqlUpsertNode node, bool includeFieldNames)

Parameters

node SqlUpsertNode

Source upsert node.

includeFieldNames bool

Specifies whether or not all field names should be included.

DoesChildNodeRequireParentheses(SqlNodeBase)

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

[Pure]
protected override 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

IsTextOrBlobType(MySqlDataType)

Checks whether or not the provided dataType is a text or a blob type.

[Pure]
protected static bool IsTextOrBlobType(MySqlDataType dataType)

Parameters

dataType MySqlDataType

Data type to check.

Returns

bool

true when dataType is a text or a blob type, otherwise false.

IsValidMultiTableDeleteStatement(SqlDataSourceNode, in SqlDataSourceTraits)

Checks whether or not a data source of an SqlDeleteFromNode is considered valid for a version with multiple record sets.

[Pure]
protected virtual bool IsValidMultiTableDeleteStatement(SqlDataSourceNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDataSourceNode

Data source node to check.

traits SqlDataSourceTraits

Collection of traits.

Returns

bool

true when data source is considered valid, otherwise false.

Remarks

By default, data source can only be decorated with common table expressions and a filter in order to be considered valid.

IsValidMultiTableUpdateStatement(SqlDataSourceNode, in SqlDataSourceTraits)

Checks whether or not a data source of an SqlUpdateNode is considered valid for a version with multiple record sets.

[Pure]
protected virtual bool IsValidMultiTableUpdateStatement(SqlDataSourceNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDataSourceNode

Data source node to check.

traits SqlDataSourceTraits

Collection of traits.

Returns

bool

true when data source is considered valid, otherwise false.

Remarks

By default, data source can only be decorated with common table expressions and a filter in order to be considered valid.

IsValidSingleTableDeleteStatement(SqlDataSourceNode, in SqlDataSourceTraits)

Checks whether or not a data source of an SqlDeleteFromNode is considered valid for a single record set version.

[Pure]
protected virtual bool IsValidSingleTableDeleteStatement(SqlDataSourceNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDataSourceNode

Data source node to check.

traits SqlDataSourceTraits

Collection of traits.

Returns

bool

true when data source is considered valid, otherwise false.

Remarks

By default, data source is considered to be valid when it contains a single non-aliased record set. In addition, it may only be decorated with common table expressions, a filter, sorting and a limit value.

IsValidSingleTableUpdateStatement(SqlDataSourceNode, in SqlDataSourceTraits)

Checks whether or not a data source of an SqlUpdateNode is considered valid for a single record set version.

[Pure]
protected virtual bool IsValidSingleTableUpdateStatement(SqlDataSourceNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDataSourceNode

Data source node to check.

traits SqlDataSourceTraits

Collection of traits.

Returns

bool

true when data source is considered valid, otherwise false.

Remarks

By default, data source is considered to be valid when it contains a single record set. In addition, it may only be decorated with common table expressions, a filter, sorting and a limit value.

RemoveCommonTableExpressions(in SqlDataSourceTraits)

Creates a new SqlDataSourceTraits without common table expressions.

[Pure]
protected static SqlDataSourceTraits RemoveCommonTableExpressions(in SqlDataSourceTraits traits)

Parameters

traits SqlDataSourceTraits

Source traits.

Returns

SqlDataSourceTraits

New SqlDataSourceTraits instance.

RemoveCommonTableExpressions(in SqlQueryTraits)

Creates a new SqlQueryTraits without common table expressions.

[Pure]
protected static SqlQueryTraits RemoveCommonTableExpressions(in SqlQueryTraits traits)

Parameters

traits SqlQueryTraits

Source traits.

Returns

SqlQueryTraits

New SqlQueryTraits instance.

VisitAbsFunction(SqlAbsFunctionExpressionNode)

public override void VisitAbsFunction(SqlAbsFunctionExpressionNode node)

Parameters

node SqlAbsFunctionExpressionNode

VisitAddColumn(SqlAddColumnNode)

Visits an SqlAddColumnNode.

public override void VisitAddColumn(SqlAddColumnNode node)

Parameters

node SqlAddColumnNode

VisitAggregateFunctionArgumentsAndTraits(ReadOnlyArray<SqlExpressionNode>, SqlAggregateFunctionTraits)

Sequentially visits all arguments and traits of a simple SQL aggregate function node.

protected void VisitAggregateFunctionArgumentsAndTraits(ReadOnlyArray<SqlExpressionNode> arguments, SqlAggregateFunctionTraits traits)

Parameters

arguments ReadOnlyArray<SqlExpressionNode>

Collection of arguments to visit.

traits SqlAggregateFunctionTraits

Collection of traits to visit.

VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode)

public override void VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode node)

Parameters

node SqlAverageAggregateFunctionExpressionNode

VisitBeginTransaction(SqlBeginTransactionNode)

public override void VisitBeginTransaction(SqlBeginTransactionNode node)

Parameters

node SqlBeginTransactionNode

VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode)

public override void VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode node)

Parameters

node SqlByteLengthFunctionExpressionNode

VisitCeilingFunction(SqlCeilingFunctionExpressionNode)

public override void VisitCeilingFunction(SqlCeilingFunctionExpressionNode node)

Parameters

node SqlCeilingFunctionExpressionNode

VisitCheckDefinition(SqlCheckDefinitionNode)

public override void VisitCheckDefinition(SqlCheckDefinitionNode node)

Parameters

node SqlCheckDefinitionNode

VisitColumnDefinition(SqlColumnDefinitionNode)

public override void VisitColumnDefinition(SqlColumnDefinitionNode node)

Parameters

node SqlColumnDefinitionNode

VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode)

public override void VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode node)

Parameters

node SqlCountAggregateFunctionExpressionNode

VisitCreateIndex(SqlCreateIndexNode)

Visits an SqlCreateIndexNode.

public override void VisitCreateIndex(SqlCreateIndexNode node)

Parameters

node SqlCreateIndexNode

VisitCreateTable(SqlCreateTableNode)

Visits an SqlCreateTableNode.

public override void VisitCreateTable(SqlCreateTableNode node)

Parameters

node SqlCreateTableNode

VisitCreateView(SqlCreateViewNode)

Visits an SqlCreateViewNode.

public override void VisitCreateView(SqlCreateViewNode node)

Parameters

node SqlCreateViewNode

VisitCumulativeDistributionWindowFunction(SqlCumulativeDistributionWindowFunctionExpressionNode)

public override void VisitCumulativeDistributionWindowFunction(SqlCumulativeDistributionWindowFunctionExpressionNode node)

Parameters

node SqlCumulativeDistributionWindowFunctionExpressionNode

VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode)

public override void VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode node)

Parameters

node SqlCurrentDateFunctionExpressionNode

VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode)

public override void VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode node)

Parameters

node SqlCurrentDateTimeFunctionExpressionNode

VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode)

public override void VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode node)

Parameters

node SqlCurrentTimeFunctionExpressionNode

VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode)

public override void VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode node)

Parameters

node SqlCurrentTimestampFunctionExpressionNode

VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode)

public override void VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode node)

Parameters

node SqlCurrentUtcDateTimeFunctionExpressionNode

VisitDataSourceAfterTraits(in SqlDataSourceTraits)

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

protected override void VisitDataSourceAfterTraits(in SqlDataSourceTraits traits)

Parameters

traits SqlDataSourceTraits

Collection of traits.

VisitDeleteFrom(SqlDeleteFromNode)

Visits an SqlDeleteFromNode.

public override sealed void VisitDeleteFrom(SqlDeleteFromNode node)

Parameters

node SqlDeleteFromNode

VisitDeleteFromWithMultiTable(SqlDeleteFromNode, in SqlDataSourceTraits)

Visits an SqlDeleteFromNode with multiple record sets.

protected virtual void VisitDeleteFromWithMultiTable(SqlDeleteFromNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDeleteFromNode

Delete from node to visit.

traits SqlDataSourceTraits

Collection of traits.

Remarks

VisitDeleteFromWithSingleTable(SqlDeleteFromNode, in SqlDataSourceTraits)

Visits an SqlDeleteFromNode with a single record set.

protected virtual void VisitDeleteFromWithSingleTable(SqlDeleteFromNode node, in SqlDataSourceTraits traits)

Parameters

node SqlDeleteFromNode

Delete from node to visit.

traits SqlDataSourceTraits

Collection of traits.

Remarks

VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode)

public override void VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode node)

Parameters

node SqlDenseRankWindowFunctionExpressionNode

VisitDropColumn(SqlDropColumnNode)

Visits an SqlDropColumnNode.

public override void VisitDropColumn(SqlDropColumnNode node)

Parameters

node SqlDropColumnNode

VisitDropIndex(SqlDropIndexNode)

Visits an SqlDropIndexNode.

public override void VisitDropIndex(SqlDropIndexNode node)

Parameters

node SqlDropIndexNode

VisitDropTable(SqlDropTableNode)

Visits an SqlDropTableNode.

public override void VisitDropTable(SqlDropTableNode node)

Parameters

node SqlDropTableNode

VisitDropView(SqlDropViewNode)

Visits an SqlDropViewNode.

public override void VisitDropView(SqlDropViewNode node)

Parameters

node SqlDropViewNode

VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode)

public override void VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode node)

Parameters

node SqlExtractDateFunctionExpressionNode

VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode)

public override void VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode node)

Parameters

node SqlExtractDayFunctionExpressionNode

VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode)

public override void VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode node)

Parameters

node SqlExtractTemporalUnitFunctionExpressionNode

VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode)

public override void VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode node)

Parameters

node SqlExtractTimeOfDayFunctionExpressionNode

VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode)

public override void VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode node)

Parameters

node SqlFirstValueWindowFunctionExpressionNode

VisitFloorFunction(SqlFloorFunctionExpressionNode)

public override void VisitFloorFunction(SqlFloorFunctionExpressionNode node)

Parameters

node SqlFloorFunctionExpressionNode

VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode)

public override void VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode node)

Parameters

node SqlForeignKeyDefinitionNode

VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode)

public override void VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode node)

Parameters

node SqlIndexOfFunctionExpressionNode

VisitIndexedExpression(SqlOrderByNode)

Visits an SqlOrderByNode as part of an index.

protected virtual void VisitIndexedExpression(SqlOrderByNode node)

Parameters

node SqlOrderByNode

Node to visit.

VisitInsertInto(SqlInsertIntoNode)

Visits an SqlInsertIntoNode.

public override sealed void VisitInsertInto(SqlInsertIntoNode node)

Parameters

node SqlInsertIntoNode

VisitInsertIntoFromCompoundQuery(SqlInsertIntoNode, SqlCompoundQueryExpressionNode)

Visits an SqlInsertIntoNode with source of SqlCompoundQueryExpressionNode type.

protected virtual void VisitInsertIntoFromCompoundQuery(SqlInsertIntoNode node, SqlCompoundQueryExpressionNode query)

Parameters

node SqlInsertIntoNode

Insert into node to visit.

query SqlCompoundQueryExpressionNode

Source query.

VisitInsertIntoFromDataSourceQuery(SqlInsertIntoNode, SqlDataSourceQueryExpressionNode)

Visits an SqlInsertIntoNode with source of SqlDataSourceQueryExpressionNode type.

protected virtual void VisitInsertIntoFromDataSourceQuery(SqlInsertIntoNode node, SqlDataSourceQueryExpressionNode query)

Parameters

node SqlInsertIntoNode

Insert into node to visit.

query SqlDataSourceQueryExpressionNode

Source query.

VisitInsertIntoFromGenericSource(SqlInsertIntoNode)

Visits an SqlInsertIntoNode with source of non-query type.

protected virtual void VisitInsertIntoFromGenericSource(SqlInsertIntoNode node)

Parameters

node SqlInsertIntoNode

Insert into node to visit.

VisitJoinOn(SqlDataSourceJoinOnNode)

public override void VisitJoinOn(SqlDataSourceJoinOnNode node)

Parameters

node SqlDataSourceJoinOnNode

VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode)

public override void VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode node)

Parameters

node SqlLagWindowFunctionExpressionNode

VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode)

public override void VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode node)

Parameters

node SqlLastIndexOfFunctionExpressionNode

VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode)

public override void VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode node)

Parameters

node SqlLastValueWindowFunctionExpressionNode

VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode)

public override void VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode node)

Parameters

node SqlLeadWindowFunctionExpressionNode

VisitLengthFunction(SqlLengthFunctionExpressionNode)

public override void VisitLengthFunction(SqlLengthFunctionExpressionNode node)

Parameters

node SqlLengthFunctionExpressionNode

VisitLimitTrait(SqlLimitTraitNode)

Visits an SqlLimitTraitNode.

public override void VisitLimitTrait(SqlLimitTraitNode node)

Parameters

node SqlLimitTraitNode

VisitLiteral(SqlLiteralNode)

Visits an SqlLiteralNode.

public override void VisitLiteral(SqlLiteralNode node)

Parameters

node SqlLiteralNode

VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode)

public override void VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode node)

Parameters

node SqlMaxAggregateFunctionExpressionNode

VisitMaxFunction(SqlMaxFunctionExpressionNode)

public override void VisitMaxFunction(SqlMaxFunctionExpressionNode node)

Parameters

node SqlMaxFunctionExpressionNode

VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode)

public override void VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode node)

Parameters

node SqlMinAggregateFunctionExpressionNode

VisitMinFunction(SqlMinFunctionExpressionNode)

public override void VisitMinFunction(SqlMinFunctionExpressionNode node)

Parameters

node SqlMinFunctionExpressionNode

VisitMultiUpdateAssignmentRange(ReadOnlyArray<SqlValueAssignmentNode>)

Visits a collection of ordering SqlValueAssignmentNode instances for update nodes with multiple record sets.

protected void VisitMultiUpdateAssignmentRange(ReadOnlyArray<SqlValueAssignmentNode> assignments)

Parameters

assignments ReadOnlyArray<SqlValueAssignmentNode>

Collection of nodes to visit.

VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode)

public override void VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode node)

Parameters

node SqlNTileWindowFunctionExpressionNode

VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode)

public override void VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode node)

Parameters

node SqlNamedAggregateFunctionExpressionNode

VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode)

public override void VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode node)

Parameters

node SqlNewGuidFunctionExpressionNode

VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode)

public override void VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode node)

Parameters

node SqlNthValueWindowFunctionExpressionNode

VisitOffsetTrait(SqlOffsetTraitNode)

Visits an SqlOffsetTraitNode.

public override void VisitOffsetTrait(SqlOffsetTraitNode node)

Parameters

node SqlOffsetTraitNode

VisitOptionalLimitAndOffsetExpressions(SqlExpressionNode?, SqlExpressionNode?)

Visits optional SqlExpressionNode values representing limit and offset.

protected void VisitOptionalLimitAndOffsetExpressions(SqlExpressionNode? limit, SqlExpressionNode? offset)

Parameters

limit SqlExpressionNode

Limit value to visit.

offset SqlExpressionNode

Offset value to visit.

VisitParameter(SqlParameterNode)

Visits an SqlParameterNode.

public override void VisitParameter(SqlParameterNode node)

Parameters

node SqlParameterNode

VisitPowerFunction(SqlPowerFunctionExpressionNode)

public override void VisitPowerFunction(SqlPowerFunctionExpressionNode node)

Parameters

node SqlPowerFunctionExpressionNode

VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode)

public override 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 override void VisitQueryAfterTraits(in SqlQueryTraits traits)

Parameters

traits SqlQueryTraits

Collection of traits.

VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode)

public override void VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode node)

Parameters

node SqlRankWindowFunctionExpressionNode

VisitRenameColumn(SqlRenameColumnNode)

public override void VisitRenameColumn(SqlRenameColumnNode node)

Parameters

node SqlRenameColumnNode

VisitRenameTable(SqlRenameTableNode)

Visits an SqlRenameTableNode.

public override void VisitRenameTable(SqlRenameTableNode node)

Parameters

node SqlRenameTableNode

VisitReplaceFunction(SqlReplaceFunctionExpressionNode)

public override void VisitReplaceFunction(SqlReplaceFunctionExpressionNode node)

Parameters

node SqlReplaceFunctionExpressionNode

VisitReverseFunction(SqlReverseFunctionExpressionNode)

public override void VisitReverseFunction(SqlReverseFunctionExpressionNode node)

Parameters

node SqlReverseFunctionExpressionNode

VisitRoundFunction(SqlRoundFunctionExpressionNode)

public override void VisitRoundFunction(SqlRoundFunctionExpressionNode node)

Parameters

node SqlRoundFunctionExpressionNode

VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode)

public override void VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode node)

Parameters

node SqlRowNumberWindowFunctionExpressionNode

VisitSignFunction(SqlSignFunctionExpressionNode)

public override void VisitSignFunction(SqlSignFunctionExpressionNode node)

Parameters

node SqlSignFunctionExpressionNode

VisitSimpleAggregateFunction(string, SqlAggregateFunctionExpressionNode)

Visits a simple SQL aggregate function node.

protected void VisitSimpleAggregateFunction(string functionName, SqlAggregateFunctionExpressionNode node)

Parameters

functionName string

Name of the aggregate function.

node SqlAggregateFunctionExpressionNode

SQL aggregate function expression node.

VisitSimplifiedUpdateWithMultiTable(SqlUpdateNode, ChangeTargetInfo, in SqlDataSourceTraits)

Visits an SqlUpdateNode statement simplified from a complex data source.

protected virtual void VisitSimplifiedUpdateWithMultiTable(SqlUpdateNode node, SqlNodeInterpreter.ChangeTargetInfo targetInfo, in SqlDataSourceTraits traits)

Parameters

node SqlUpdateNode

Update node to visit.

targetInfo SqlNodeInterpreter.ChangeTargetInfo

SqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.

traits SqlDataSourceTraits

Collection of traits.

VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode)

public override void VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode node)

Parameters

node SqlSquareRootFunctionExpressionNode

VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode)

public override void VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode node)

Parameters

node SqlStringConcatAggregateFunctionExpressionNode

VisitSubstringFunction(SqlSubstringFunctionExpressionNode)

public override void VisitSubstringFunction(SqlSubstringFunctionExpressionNode node)

Parameters

node SqlSubstringFunctionExpressionNode

VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode)

public override void VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode node)

Parameters

node SqlSumAggregateFunctionExpressionNode

VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode)

public override void VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode node)

Parameters

node SqlTemporalAddFunctionExpressionNode

VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode)

public override void VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode node)

Parameters

node SqlTemporalDiffFunctionExpressionNode

VisitToLowerFunction(SqlToLowerFunctionExpressionNode)

public override void VisitToLowerFunction(SqlToLowerFunctionExpressionNode node)

Parameters

node SqlToLowerFunctionExpressionNode

VisitToUpperFunction(SqlToUpperFunctionExpressionNode)

public override void VisitToUpperFunction(SqlToUpperFunctionExpressionNode node)

Parameters

node SqlToUpperFunctionExpressionNode

VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode)

public override void VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode node)

Parameters

node SqlTrimEndFunctionExpressionNode

VisitTrimFunction(SqlTrimFunctionExpressionNode)

public override void VisitTrimFunction(SqlTrimFunctionExpressionNode node)

Parameters

node SqlTrimFunctionExpressionNode

VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode)

public override void VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode node)

Parameters

node SqlTrimStartFunctionExpressionNode

VisitTruncateFunction(SqlTruncateFunctionExpressionNode)

public override void VisitTruncateFunction(SqlTruncateFunctionExpressionNode node)

Parameters

node SqlTruncateFunctionExpressionNode

VisitTypeCast(SqlTypeCastExpressionNode)

public override void VisitTypeCast(SqlTypeCastExpressionNode node)

Parameters

node SqlTypeCastExpressionNode

VisitUpdate(SqlUpdateNode)

Visits an SqlUpdateNode.

public override sealed void VisitUpdate(SqlUpdateNode node)

Parameters

node SqlUpdateNode

VisitUpdateWithMultiTable(SqlUpdateNode, in SqlDataSourceTraits)

Visits an SqlUpdateNode with multiple record sets.

protected virtual void VisitUpdateWithMultiTable(SqlUpdateNode node, in SqlDataSourceTraits traits)

Parameters

node SqlUpdateNode

Update node to visit.

traits SqlDataSourceTraits

Collection of traits.

Remarks

VisitUpdateWithSingleTable(SqlUpdateNode, in SqlDataSourceTraits)

Visits an SqlUpdateNode with a single record set.

protected virtual void VisitUpdateWithSingleTable(SqlUpdateNode node, in SqlDataSourceTraits traits)

Parameters

node SqlUpdateNode

Update node to visit.

traits SqlDataSourceTraits

Collection of traits.

Remarks

VisitUpsert(SqlUpsertNode)

Visits an SqlUpsertNode.

public override sealed void VisitUpsert(SqlUpsertNode node)

Parameters

node SqlUpsertNode

VisitUpsertFromCompoundQuery(SqlUpsertNode, SqlCompoundQueryExpressionNode)

Visits an SqlUpsertNode with source of SqlCompoundQueryExpressionNode type.

protected virtual void VisitUpsertFromCompoundQuery(SqlUpsertNode node, SqlCompoundQueryExpressionNode query)

Parameters

node SqlUpsertNode

Upsert node to visit.

query SqlCompoundQueryExpressionNode

Source query.

VisitUpsertFromDataSourceQuery(SqlUpsertNode, SqlDataSourceQueryExpressionNode)

Visits an SqlUpsertNode with source of SqlDataSourceQueryExpressionNode type.

protected virtual void VisitUpsertFromDataSourceQuery(SqlUpsertNode node, SqlDataSourceQueryExpressionNode query)

Parameters

node SqlUpsertNode

Upsert node to visit.

query SqlDataSourceQueryExpressionNode

Source query.

VisitUpsertFromGenericSource(SqlUpsertNode)

Visits an SqlUpsertNode with source of non-query type.

protected virtual void VisitUpsertFromGenericSource(SqlUpsertNode node)

Parameters

node SqlUpsertNode

Upsert node to visit.

VisitUpsertFromRawQuery(SqlUpsertNode, SqlRawQueryExpressionNode)

Visits an SqlUpsertNode with source of SqlRawQueryExpressionNode type.

protected virtual void VisitUpsertFromRawQuery(SqlUpsertNode node, SqlRawQueryExpressionNode query)

Parameters

node SqlUpsertNode

Upsert node to visit.

query SqlRawQueryExpressionNode

Source query.