Class PostgreSqlNodeInterpreter
- Namespace
- LfrlAnvil.PostgreSql
- Assembly
- LfrlAnvil.PostgreSql.dll
Represents an object capable of recursive traversal over an SQL syntax tree and translating that tree into an SQL statement.
public class PostgreSqlNodeInterpreter : SqlNodeInterpreter, ISqlNodeVisitor
- Inheritance
-
PostgreSqlNodeInterpreter
- 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
PostgreSqlNodeInterpreter(PostgreSqlNodeInterpreterOptions, SqlNodeInterpreterContext)
Creates a new PostgreSqlNodeInterpreter instance.
public PostgreSqlNodeInterpreter(PostgreSqlNodeInterpreterOptions options, SqlNodeInterpreterContext context)
Parameters
optionsPostgreSqlNodeInterpreterOptionsPostgreSqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.
contextSqlNodeInterpreterContextUnderlying SqlNodeInterpreterContext instance.
Properties
Options
PostgreSqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.
public PostgreSqlNodeInterpreterOptions Options { get; }
Property Value
TypeDefinitions
PostgreSqlColumnTypeDefinitionProvider instance associated with this interpreter.
public PostgreSqlColumnTypeDefinitionProvider TypeDefinitions { get; }
Property Value
Methods
AppendDelimitedTemporaryObjectName(string)
Appends delimited name of a temporary SQL object to Context.
public override sealed void AppendDelimitedTemporaryObjectName(string name)
Parameters
namestringName to append.
AppendPostgreStyleCast(PostgreSqlDataType)
Appends a type cast to the provided dataType to Context.
protected void AppendPostgreStyleCast(PostgreSqlDataType dataType)
Parameters
dataTypePostgreSqlDataTypeData type to append.
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.
DoesChildNodeRequireParentheses(SqlNodeBase)
Specifies whether or not 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.
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
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 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.
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
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 valid when it contains a single record set. In addition, it may only be decorated with common table expressions and a filter.
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
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 valid when it contains a single record set. In addition, it may only be decorated with common table expressions and a filter.
IsValidUpdateFromStatement(SqlDataSourceNode, in SqlDataSourceTraits)
Checks whether or not 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, 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.
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
VisitDeleteFromWithMultiTable(SqlDeleteFromNode, in SqlDataSourceTraits)
Visits an SqlDeleteFromNode with multiple record sets.
protected virtual void VisitDeleteFromWithMultiTable(SqlDeleteFromNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlDeleteFromNodeDelete from node to visit.
traitsSqlDataSourceTraitsCollection of traits.
Remarks
See IsValidMultiTableDeleteStatement(SqlDataSourceNode, in SqlDataSourceTraits) for more information.
VisitDeleteFromWithSingleTable(SqlDeleteFromNode, in SqlDataSourceTraits)
Visits an SqlDeleteFromNode with a single record set.
protected virtual void VisitDeleteFromWithSingleTable(SqlDeleteFromNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlDeleteFromNodeDelete from node to visit.
traitsSqlDataSourceTraitsCollection of traits.
Remarks
See IsValidSingleTableDeleteStatement(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.
VisitJoinOn(SqlDataSourceJoinOnNode)
Visits an SqlDataSourceJoinOnNode.
public override void VisitJoinOn(SqlDataSourceJoinOnNode node)
Parameters
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
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
VisitOptionalLimitExpression(SqlExpressionNode?)
Visits optional SqlExpressionNode value representing limit.
protected void VisitOptionalLimitExpression(SqlExpressionNode? limit)
Parameters
limitSqlExpressionNodeLimit value to visit.
VisitOptionalOffsetExpression(SqlExpressionNode?)
Visits optional SqlExpressionNode value representing offset.
protected void VisitOptionalOffsetExpression(SqlExpressionNode? offset)
Parameters
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.
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.
VisitUpdateWithSingleTable(SqlUpdateNode, in SqlDataSourceTraits)
Visits an SqlUpdateNode with a single record set.
protected virtual void VisitUpdateWithSingleTable(SqlUpdateNode node, in SqlDataSourceTraits traits)
Parameters
nodeSqlUpdateNodeUpdate node to visit.
traitsSqlDataSourceTraitsCollection of traits.
Remarks
See IsValidSingleTableUpdateStatement(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.