Class SqliteNodeInterpreter
Represents an object capable of recursive traversal over an SQL syntax tree and translating that tree into an SQL statement.
public class SqliteNodeInterpreter : SqlNodeInterpreter, ISqlNodeVisitor
- Inheritance
-
SqliteNodeInterpreter
- 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
SqliteNodeInterpreter(SqliteNodeInterpreterOptions, SqlNodeInterpreterContext)
Creates a new SqliteNodeInterpreter instance.
public SqliteNodeInterpreter(SqliteNodeInterpreterOptions options, SqlNodeInterpreterContext context)
Parameters
optionsSqliteNodeInterpreterOptionsSqliteNodeInterpreterOptions instance associated with this interpreter that defines its behavior.
contextSqlNodeInterpreterContextUnderlying SqlNodeInterpreterContext instance.
Properties
Options
SqliteNodeInterpreterOptions instance associated with this interpreter that defines its behavior.
public SqliteNodeInterpreterOptions Options { get; }
Property Value
TypeDefinitions
SqliteColumnTypeDefinitionProvider instance associated with this interpreter.
public SqliteColumnTypeDefinitionProvider TypeDefinitions { get; }
Property Value
Methods
AddContextParameter(SqlParameterNode)
Registers an SQL parameter in the Context.
protected override void AddContextParameter(SqlParameterNode node)
Parameters
nodeSqlParameterNodeSQL parameter node to register.
AppendDelimitedSchemaObjectName(string, string)
Appends delimited schema object's name to Context.
public override sealed void AppendDelimitedSchemaObjectName(string schemaName, string objName)
Parameters
AppendDelimitedTemporaryObjectName(string)
Appends delimited name of a temporary SQL object to Context.
public override sealed void AppendDelimitedTemporaryObjectName(string name)
Parameters
namestringName to append.
AppendSchemaObjectName(string, string)
Appends schema object's name to Context.
protected void AppendSchemaObjectName(string schemaName, string objName)
Parameters
AppendUpsertOnConflict(SqlUpsertNode, ReadOnlyArray<SqlDataFieldNode>)
Appends an SQL upsert's conflict target to Context.
protected void AppendUpsertOnConflict(SqlUpsertNode node, ReadOnlyArray<SqlDataFieldNode> conflictTarget)
Parameters
nodeSqlUpsertNodeSQL upsert node.
conflictTargetReadOnlyArray<SqlDataFieldNode>Conflict target to append.
CreateSimplifiedUpdateWithComplexAssignments(ChangeTargetInfo, SqlUpdateNode, ReadOnlySpan<int>)
Creates a simplified version of an SqlUpdateNode with a complex data source and complex value assignments.
[Pure]
protected static SqlUpdateNode CreateSimplifiedUpdateWithComplexAssignments(SqlNodeInterpreter.ChangeTargetInfo targetInfo, SqlUpdateNode node, ReadOnlySpan<int> indexesOfComplexAssignments)
Parameters
targetInfoSqlNodeInterpreter.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
nodeSqlUpdateNodeSource update node.
indexesOfComplexAssignmentsReadOnlySpan<int>Collection of 0-based indexes of all complex value assignments.
Returns
- SqlUpdateNode
New SqlUpdateNode instance.
DoesChildNodeRequireParentheses(SqlNodeBase)
Specifies whether the provided node should be interpreted as a child node.
[Pure]
protected override bool DoesChildNodeRequireParentheses(SqlNodeBase node)
Parameters
nodeSqlNodeBaseNode 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.
IsValidSingleTableUpdateOrDeleteStatement(SqlDataSourceNode, in SqlDataSourceTraits)
Checks whether a data source of an SqlUpdateNode or SqlDeleteFromNode is considered simple.
[Pure]
protected virtual bool IsValidSingleTableUpdateOrDeleteStatement(SqlDataSourceNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlDataSourceNodeData source node to check.
traitsSqlDataSourceTraitsCollection of traits.
Returns
- bool
true when data source is considered valid, otherwise false.
Remarks
By default, data source is considered to be simple when it contains a single record set. In addition, it may only be decorated with common table expressions and a filter. Sorting, limit and offset traits are allowed as well, unless the IsUpdateOrDeleteLimitEnabled setting of the Options is disabled.
IsValidUpdateFromStatement(SqlDataSourceNode, in SqlDataSourceTraits)
Checks whether a data source of an SqlUpdateNode is considered valid for an UPDATE FROM statement.
[Pure]
protected virtual bool IsValidUpdateFromStatement(SqlDataSourceNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlDataSourceNodeData source node to check.
traitsSqlDataSourceTraitsCollection of traits.
Returns
- bool
true when data source is considered valid, otherwise false.
Remarks
By default, IsUpdateFromEnabled setting of the Options must be enabled. Then, data source is considered to be valid when it contains exactly two record sets, and only with Inner or Cross join. In addition, it may only be decorated with common table expressions and a filter. Sorting, limit and offset traits are allowed as well, unless the IsUpdateOrDeleteLimitEnabled setting of the Options is disabled.
VisitAbsFunction(SqlAbsFunctionExpressionNode)
Visits an SqlAbsFunctionExpressionNode.
public override void VisitAbsFunction(SqlAbsFunctionExpressionNode node)
Parameters
VisitAddColumn(SqlAddColumnNode)
Visits an SqlAddColumnNode.
public override void VisitAddColumn(SqlAddColumnNode node)
Parameters
nodeSqlAddColumnNode
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
argumentsReadOnlyArray<SqlExpressionNode>Collection of arguments to visit.
traitsSqlAggregateFunctionTraitsCollection of traits to visit.
VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode)
Visits an SqlAverageAggregateFunctionExpressionNode.
public override void VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode node)
Parameters
VisitBeginTransaction(SqlBeginTransactionNode)
Visits an SqlBeginTransactionNode.
public override void VisitBeginTransaction(SqlBeginTransactionNode node)
Parameters
VisitBitwiseXor(SqlBitwiseXorExpressionNode)
Visits an SqlBitwiseXorExpressionNode.
public override void VisitBitwiseXor(SqlBitwiseXorExpressionNode node)
Parameters
VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode)
Visits an SqlByteLengthFunctionExpressionNode.
public override void VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode node)
Parameters
VisitCeilingFunction(SqlCeilingFunctionExpressionNode)
Visits an SqlCeilingFunctionExpressionNode.
public override void VisitCeilingFunction(SqlCeilingFunctionExpressionNode node)
Parameters
VisitCheckDefinition(SqlCheckDefinitionNode)
Visits an SqlCheckDefinitionNode.
public override void VisitCheckDefinition(SqlCheckDefinitionNode node)
Parameters
VisitColumnDefinition(SqlColumnDefinitionNode)
Visits an SqlColumnDefinitionNode.
public override void VisitColumnDefinition(SqlColumnDefinitionNode node)
Parameters
VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode)
Visits an SqlCountAggregateFunctionExpressionNode.
public override void VisitCountAggregateFunction(SqlCountAggregateFunctionExpressionNode node)
Parameters
VisitCreateIndex(SqlCreateIndexNode)
Visits an SqlCreateIndexNode.
public override void VisitCreateIndex(SqlCreateIndexNode node)
Parameters
nodeSqlCreateIndexNode
VisitCreateTable(SqlCreateTableNode)
Visits an SqlCreateTableNode.
public override void VisitCreateTable(SqlCreateTableNode node)
Parameters
nodeSqlCreateTableNode
VisitCreateView(SqlCreateViewNode)
Visits an SqlCreateViewNode.
public override void VisitCreateView(SqlCreateViewNode node)
Parameters
nodeSqlCreateViewNode
VisitCumulativeDistributionWindowFunction(SqlCumulativeDistributionWindowFunctionExpressionNode)
public override void VisitCumulativeDistributionWindowFunction(SqlCumulativeDistributionWindowFunctionExpressionNode node)
Parameters
VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode)
Visits an SqlCurrentDateFunctionExpressionNode.
public override void VisitCurrentDateFunction(SqlCurrentDateFunctionExpressionNode node)
Parameters
VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode)
Visits an SqlCurrentDateTimeFunctionExpressionNode.
public override void VisitCurrentDateTimeFunction(SqlCurrentDateTimeFunctionExpressionNode node)
Parameters
VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode)
Visits an SqlCurrentTimeFunctionExpressionNode.
public override void VisitCurrentTimeFunction(SqlCurrentTimeFunctionExpressionNode node)
Parameters
VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode)
Visits an SqlCurrentTimestampFunctionExpressionNode.
public override void VisitCurrentTimestampFunction(SqlCurrentTimestampFunctionExpressionNode node)
Parameters
VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode)
Visits an SqlCurrentUtcDateTimeFunctionExpressionNode.
public override void VisitCurrentUtcDateTimeFunction(SqlCurrentUtcDateTimeFunctionExpressionNode node)
Parameters
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
traitsSqlDataSourceTraitsCollection of traits.
VisitDeleteFrom(SqlDeleteFromNode)
Visits an SqlDeleteFromNode.
public override sealed void VisitDeleteFrom(SqlDeleteFromNode node)
Parameters
nodeSqlDeleteFromNode
VisitDeleteFromWithComplexDataSource(SqlDeleteFromNode, ChangeTargetInfo, in SqlDataSourceTraits)
Visits an SqlDeleteFromNode with a complex data source.
protected virtual void VisitDeleteFromWithComplexDataSource(SqlDeleteFromNode node, SqlNodeInterpreter.ChangeTargetInfo targetInfo, in SqlDataSourceTraits traits)
Parameters
nodeSqlDeleteFromNodeDelete from node to visit.
targetInfoSqlNodeInterpreter.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
traitsSqlDataSourceTraitsCollection of traits.
VisitDeleteFromWithSimpleDataSource(SqlDeleteFromNode, in SqlDataSourceTraits)
Visits an SqlDeleteFromNode with a simple data source.
protected virtual void VisitDeleteFromWithSimpleDataSource(SqlDeleteFromNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlDeleteFromNodeDelete from node to visit.
traitsSqlDataSourceTraitsCollection of traits.
Remarks
See IsValidSingleTableUpdateOrDeleteStatement(SqlDataSourceNode, in SqlDataSourceTraits) for more information.
VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode)
Visits an SqlDenseRankWindowFunctionExpressionNode.
public override void VisitDenseRankWindowFunction(SqlDenseRankWindowFunctionExpressionNode node)
Parameters
VisitDropColumn(SqlDropColumnNode)
Visits an SqlDropColumnNode.
public override void VisitDropColumn(SqlDropColumnNode node)
Parameters
nodeSqlDropColumnNode
VisitDropIndex(SqlDropIndexNode)
Visits an SqlDropIndexNode.
public override void VisitDropIndex(SqlDropIndexNode node)
Parameters
nodeSqlDropIndexNode
VisitDropTable(SqlDropTableNode)
Visits an SqlDropTableNode.
public override void VisitDropTable(SqlDropTableNode node)
Parameters
nodeSqlDropTableNode
VisitDropView(SqlDropViewNode)
Visits an SqlDropViewNode.
public override void VisitDropView(SqlDropViewNode node)
Parameters
nodeSqlDropViewNode
VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode)
Visits an SqlExtractDateFunctionExpressionNode.
public override void VisitExtractDateFunction(SqlExtractDateFunctionExpressionNode node)
Parameters
VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode)
Visits an SqlExtractDayFunctionExpressionNode.
public override void VisitExtractDayFunction(SqlExtractDayFunctionExpressionNode node)
Parameters
VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode)
Visits an SqlExtractTemporalUnitFunctionExpressionNode.
public override void VisitExtractTemporalUnitFunction(SqlExtractTemporalUnitFunctionExpressionNode node)
Parameters
VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode)
Visits an SqlExtractTimeOfDayFunctionExpressionNode.
public override void VisitExtractTimeOfDayFunction(SqlExtractTimeOfDayFunctionExpressionNode node)
Parameters
VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode)
Visits an SqlFirstValueWindowFunctionExpressionNode.
public override void VisitFirstValueWindowFunction(SqlFirstValueWindowFunctionExpressionNode node)
Parameters
VisitFloorFunction(SqlFloorFunctionExpressionNode)
Visits an SqlFloorFunctionExpressionNode.
public override void VisitFloorFunction(SqlFloorFunctionExpressionNode node)
Parameters
VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode)
Visits an SqlForeignKeyDefinitionNode.
public override void VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode node)
Parameters
VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode)
Visits an SqlIndexOfFunctionExpressionNode.
public override void VisitIndexOfFunction(SqlIndexOfFunctionExpressionNode node)
Parameters
VisitInsertInto(SqlInsertIntoNode)
Visits an SqlInsertIntoNode.
public override sealed void VisitInsertInto(SqlInsertIntoNode node)
Parameters
nodeSqlInsertIntoNode
VisitInsertIntoFromCompoundQuery(SqlInsertIntoNode, SqlCompoundQueryExpressionNode)
Visits an SqlInsertIntoNode with source of SqlCompoundQueryExpressionNode type.
protected virtual void VisitInsertIntoFromCompoundQuery(SqlInsertIntoNode node, SqlCompoundQueryExpressionNode query)
Parameters
nodeSqlInsertIntoNodeInsert into node to visit.
querySqlCompoundQueryExpressionNodeSource query.
VisitInsertIntoFromDataSourceQuery(SqlInsertIntoNode, SqlDataSourceQueryExpressionNode)
Visits an SqlInsertIntoNode with source of SqlDataSourceQueryExpressionNode type.
protected virtual void VisitInsertIntoFromDataSourceQuery(SqlInsertIntoNode node, SqlDataSourceQueryExpressionNode query)
Parameters
nodeSqlInsertIntoNodeInsert into node to visit.
querySqlDataSourceQueryExpressionNodeSource query.
VisitInsertIntoFromGenericSource(SqlInsertIntoNode)
Visits an SqlInsertIntoNode with source of non-query type.
protected virtual void VisitInsertIntoFromGenericSource(SqlInsertIntoNode node)
Parameters
nodeSqlInsertIntoNodeInsert into node to visit.
VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode)
Visits an SqlLagWindowFunctionExpressionNode.
public override void VisitLagWindowFunction(SqlLagWindowFunctionExpressionNode node)
Parameters
VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode)
Visits an SqlLastIndexOfFunctionExpressionNode.
public override void VisitLastIndexOfFunction(SqlLastIndexOfFunctionExpressionNode node)
Parameters
VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode)
Visits an SqlLastValueWindowFunctionExpressionNode.
public override void VisitLastValueWindowFunction(SqlLastValueWindowFunctionExpressionNode node)
Parameters
VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode)
Visits an SqlLeadWindowFunctionExpressionNode.
public override void VisitLeadWindowFunction(SqlLeadWindowFunctionExpressionNode node)
Parameters
VisitLengthFunction(SqlLengthFunctionExpressionNode)
Visits an SqlLengthFunctionExpressionNode.
public override void VisitLengthFunction(SqlLengthFunctionExpressionNode node)
Parameters
VisitLimitTrait(SqlLimitTraitNode)
Visits an SqlLimitTraitNode.
public override void VisitLimitTrait(SqlLimitTraitNode node)
Parameters
nodeSqlLimitTraitNode
VisitLiteral(SqlLiteralNode)
Visits an SqlLiteralNode.
public override void VisitLiteral(SqlLiteralNode node)
Parameters
nodeSqlLiteralNode
VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode)
Visits an SqlMaxAggregateFunctionExpressionNode.
public override void VisitMaxAggregateFunction(SqlMaxAggregateFunctionExpressionNode node)
Parameters
VisitMaxFunction(SqlMaxFunctionExpressionNode)
Visits an SqlMaxFunctionExpressionNode.
public override void VisitMaxFunction(SqlMaxFunctionExpressionNode node)
Parameters
VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode)
Visits an SqlMinAggregateFunctionExpressionNode.
public override void VisitMinAggregateFunction(SqlMinAggregateFunctionExpressionNode node)
Parameters
VisitMinFunction(SqlMinFunctionExpressionNode)
Visits an SqlMinFunctionExpressionNode.
public override void VisitMinFunction(SqlMinFunctionExpressionNode node)
Parameters
VisitModulo(SqlModuloExpressionNode)
Visits an SqlModuloExpressionNode.
public override void VisitModulo(SqlModuloExpressionNode node)
Parameters
VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode)
Visits an SqlNTileWindowFunctionExpressionNode.
public override void VisitNTileWindowFunction(SqlNTileWindowFunctionExpressionNode node)
Parameters
VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode)
Visits an SqlNamedAggregateFunctionExpressionNode.
public override void VisitNamedAggregateFunction(SqlNamedAggregateFunctionExpressionNode node)
Parameters
VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode)
Visits an SqlNewGuidFunctionExpressionNode.
public override void VisitNewGuidFunction(SqlNewGuidFunctionExpressionNode node)
Parameters
VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode)
Visits an SqlNthValueWindowFunctionExpressionNode.
public override void VisitNthValueWindowFunction(SqlNthValueWindowFunctionExpressionNode node)
Parameters
VisitOffsetTrait(SqlOffsetTraitNode)
Visits an SqlOffsetTraitNode.
public override void VisitOffsetTrait(SqlOffsetTraitNode node)
Parameters
nodeSqlOffsetTraitNode
VisitOptionalLimitAndOffsetExpressions(SqlExpressionNode?, SqlExpressionNode?)
Visits optional SqlExpressionNode values representing limit and offset.
protected void VisitOptionalLimitAndOffsetExpressions(SqlExpressionNode? limit, SqlExpressionNode? offset)
Parameters
limitSqlExpressionNodeLimit value to visit.
offsetSqlExpressionNodeOffset value to visit.
VisitParameter(SqlParameterNode)
Visits an SqlParameterNode.
public override void VisitParameter(SqlParameterNode node)
Parameters
nodeSqlParameterNode
VisitPowerFunction(SqlPowerFunctionExpressionNode)
Visits an SqlPowerFunctionExpressionNode.
public override void VisitPowerFunction(SqlPowerFunctionExpressionNode node)
Parameters
VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode)
Visits an SqlPrimaryKeyDefinitionNode.
public override 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 override void VisitQueryAfterTraits(in SqlQueryTraits traits)
Parameters
traitsSqlQueryTraitsCollection of traits.
VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode)
Visits an SqlRankWindowFunctionExpressionNode.
public override void VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode node)
Parameters
VisitRenameColumn(SqlRenameColumnNode)
Visits an SqlRenameColumnNode.
public override void VisitRenameColumn(SqlRenameColumnNode node)
Parameters
nodeSqlRenameColumnNode
VisitRenameTable(SqlRenameTableNode)
Visits an SqlRenameTableNode.
public override void VisitRenameTable(SqlRenameTableNode node)
Parameters
nodeSqlRenameTableNode
VisitReplaceFunction(SqlReplaceFunctionExpressionNode)
Visits an SqlReplaceFunctionExpressionNode.
public override void VisitReplaceFunction(SqlReplaceFunctionExpressionNode node)
Parameters
VisitReverseFunction(SqlReverseFunctionExpressionNode)
Visits an SqlReverseFunctionExpressionNode.
public override void VisitReverseFunction(SqlReverseFunctionExpressionNode node)
Parameters
VisitRoundFunction(SqlRoundFunctionExpressionNode)
Visits an SqlRoundFunctionExpressionNode.
public override void VisitRoundFunction(SqlRoundFunctionExpressionNode node)
Parameters
VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode)
Visits an SqlRowNumberWindowFunctionExpressionNode.
public override void VisitRowNumberWindowFunction(SqlRowNumberWindowFunctionExpressionNode node)
Parameters
VisitSignFunction(SqlSignFunctionExpressionNode)
Visits an SqlSignFunctionExpressionNode.
public override void VisitSignFunction(SqlSignFunctionExpressionNode node)
Parameters
VisitSimpleAggregateFunction(string, SqlAggregateFunctionExpressionNode)
Visits a simple SQL aggregate function node.
protected void VisitSimpleAggregateFunction(string functionName, SqlAggregateFunctionExpressionNode node)
Parameters
functionNamestringName of the aggregate function.
nodeSqlAggregateFunctionExpressionNodeSQL aggregate function expression node.
VisitSimplifiedUpdateFrom(SqlUpdateNode, ChangeTargetInfo, in SqlDataSourceTraits)
Visits an SqlUpdateNode using an UPDATE FROM statement simplified from a complex data source with complex value assignments.
protected virtual void VisitSimplifiedUpdateFrom(SqlUpdateNode node, SqlNodeInterpreter.ChangeTargetInfo targetInfo, in SqlDataSourceTraits traits)
Parameters
nodeSqlUpdateNodeUpdate node to visit.
targetInfoSqlNodeInterpreter.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
traitsSqlDataSourceTraitsCollection of traits.
VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode)
Visits an SqlSquareRootFunctionExpressionNode.
public override void VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode node)
Parameters
VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode)
public override void VisitStringConcatAggregateFunction(SqlStringConcatAggregateFunctionExpressionNode node)
Parameters
VisitSubstringFunction(SqlSubstringFunctionExpressionNode)
Visits an SqlSubstringFunctionExpressionNode.
public override void VisitSubstringFunction(SqlSubstringFunctionExpressionNode node)
Parameters
VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode)
Visits an SqlSumAggregateFunctionExpressionNode.
public override void VisitSumAggregateFunction(SqlSumAggregateFunctionExpressionNode node)
Parameters
VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode)
Visits an SqlTemporalAddFunctionExpressionNode.
public override void VisitTemporalAddFunction(SqlTemporalAddFunctionExpressionNode node)
Parameters
VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode)
Visits an SqlTemporalDiffFunctionExpressionNode.
public override void VisitTemporalDiffFunction(SqlTemporalDiffFunctionExpressionNode node)
Parameters
VisitToLowerFunction(SqlToLowerFunctionExpressionNode)
Visits an SqlToLowerFunctionExpressionNode.
public override void VisitToLowerFunction(SqlToLowerFunctionExpressionNode node)
Parameters
VisitToUpperFunction(SqlToUpperFunctionExpressionNode)
Visits an SqlToUpperFunctionExpressionNode.
public override void VisitToUpperFunction(SqlToUpperFunctionExpressionNode node)
Parameters
VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode)
Visits an SqlTrimEndFunctionExpressionNode.
public override void VisitTrimEndFunction(SqlTrimEndFunctionExpressionNode node)
Parameters
VisitTrimFunction(SqlTrimFunctionExpressionNode)
Visits an SqlTrimFunctionExpressionNode.
public override void VisitTrimFunction(SqlTrimFunctionExpressionNode node)
Parameters
VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode)
Visits an SqlTrimStartFunctionExpressionNode.
public override void VisitTrimStartFunction(SqlTrimStartFunctionExpressionNode node)
Parameters
VisitTruncate(SqlTruncateNode)
Visits an SqlTruncateNode.
public override void VisitTruncate(SqlTruncateNode node)
Parameters
nodeSqlTruncateNode
VisitTruncateFunction(SqlTruncateFunctionExpressionNode)
Visits an SqlTruncateFunctionExpressionNode.
public override void VisitTruncateFunction(SqlTruncateFunctionExpressionNode node)
Parameters
VisitTypeCast(SqlTypeCastExpressionNode)
Visits an SqlTypeCastExpressionNode.
public override void VisitTypeCast(SqlTypeCastExpressionNode node)
Parameters
VisitUpdate(SqlUpdateNode)
Visits an SqlUpdateNode.
public override sealed void VisitUpdate(SqlUpdateNode node)
Parameters
nodeSqlUpdateNode
VisitUpdateFrom(SqlUpdateNode, in SqlDataSourceTraits)
Visits an SqlUpdateNode using an UPDATE FROM statement.
protected virtual void VisitUpdateFrom(SqlUpdateNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlUpdateNodeUpdate node to visit.
traitsSqlDataSourceTraitsCollection of traits.
Remarks
See IsValidUpdateFromStatement(SqlDataSourceNode, in SqlDataSourceTraits) for more information.
VisitUpdateWithComplexDataSourceAndComplexAssignments(SqlUpdateNode, ChangeTargetInfo, ReadOnlySpan<int>)
Visits an SqlUpdateNode simplified from a complex data source with complex value assignments.
protected virtual void VisitUpdateWithComplexDataSourceAndComplexAssignments(SqlUpdateNode node, SqlNodeInterpreter.ChangeTargetInfo targetInfo, ReadOnlySpan<int> indexesOfComplexAssignments)
Parameters
nodeSqlUpdateNodeUpdate node to visit.
targetInfoSqlNodeInterpreter.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
indexesOfComplexAssignmentsReadOnlySpan<int>Collection of 0-based indexes of all complex value assignments.
VisitUpdateWithComplexDataSourceAndSimpleAssignments(SqlUpdateNode, ChangeTargetInfo, in SqlDataSourceTraits)
Visits an SqlUpdateNode with a complex data source with simple value assignments.
protected virtual void VisitUpdateWithComplexDataSourceAndSimpleAssignments(SqlUpdateNode node, SqlNodeInterpreter.ChangeTargetInfo targetInfo, in SqlDataSourceTraits traits)
Parameters
nodeSqlUpdateNodeUpdate node to visit.
targetInfoSqlNodeInterpreter.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
traitsSqlDataSourceTraitsCollection of traits.
VisitUpdateWithSimpleDataSource(SqlUpdateNode, in SqlDataSourceTraits)
Visits an SqlUpdateNode with a simple data source.
protected virtual void VisitUpdateWithSimpleDataSource(SqlUpdateNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlUpdateNodeUpdate node to visit.
traitsSqlDataSourceTraitsCollection of traits.
Remarks
See IsValidSingleTableUpdateOrDeleteStatement(SqlDataSourceNode, in SqlDataSourceTraits) for more information.
VisitUpsert(SqlUpsertNode)
Visits an SqlUpsertNode.
public override sealed void VisitUpsert(SqlUpsertNode node)
Parameters
nodeSqlUpsertNode
VisitUpsertFromCompoundQuery(SqlUpsertNode, ReadOnlyArray<SqlDataFieldNode>, SqlCompoundQueryExpressionNode)
Visits an SqlUpsertNode with source of SqlCompoundQueryExpressionNode type.
protected virtual void VisitUpsertFromCompoundQuery(SqlUpsertNode node, ReadOnlyArray<SqlDataFieldNode> conflictTarget, SqlCompoundQueryExpressionNode query)
Parameters
nodeSqlUpsertNodeUpsert node to visit.
conflictTargetReadOnlyArray<SqlDataFieldNode>Collection of data fields from the table that define the insertion conflict target.
querySqlCompoundQueryExpressionNodeSource query.
VisitUpsertFromDataSourceQuery(SqlUpsertNode, ReadOnlyArray<SqlDataFieldNode>, SqlDataSourceQueryExpressionNode)
Visits an SqlUpsertNode with source of SqlDataSourceQueryExpressionNode type.
protected virtual void VisitUpsertFromDataSourceQuery(SqlUpsertNode node, ReadOnlyArray<SqlDataFieldNode> conflictTarget, SqlDataSourceQueryExpressionNode query)
Parameters
nodeSqlUpsertNodeUpsert node to visit.
conflictTargetReadOnlyArray<SqlDataFieldNode>Collection of data fields from the table that define the insertion conflict target.
querySqlDataSourceQueryExpressionNodeSource query.
VisitUpsertFromGenericSource(SqlUpsertNode, ReadOnlyArray<SqlDataFieldNode>)
Visits an SqlUpsertNode with source of non-query type.
protected virtual void VisitUpsertFromGenericSource(SqlUpsertNode node, ReadOnlyArray<SqlDataFieldNode> conflictTarget)
Parameters
nodeSqlUpsertNodeUpsert node to visit.
conflictTargetReadOnlyArray<SqlDataFieldNode>Collection of data fields from the table that define the insertion conflict target.