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
options
PostgreSqlNodeInterpreterOptionsPostgreSqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.
context
SqlNodeInterpreterContextUnderlying 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
name
stringName to append.
AppendPostgreStyleCast(PostgreSqlDataType)
Appends a type cast to the provided dataType
to Context.
protected void AppendPostgreStyleCast(PostgreSqlDataType dataType)
Parameters
dataType
PostgreSqlDataTypeData 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
node
SqlUpsertNodeSQL upsert node.
conflictTarget
ReadOnlyArray<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
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.
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
SqlDataSourceNodeData source node to check.
traits
SqlDataSourceTraitsCollection 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
node
SqlDataSourceNodeData source node to check.
traits
SqlDataSourceTraitsCollection 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
node
SqlDataSourceNodeData source node to check.
traits
SqlDataSourceTraitsCollection 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
node
SqlDataSourceNodeData source node to check.
traits
SqlDataSourceTraitsCollection 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
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
SqlAggregateFunctionTraitsCollection 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
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
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
traits
SqlDataSourceTraitsCollection 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
SqlDeleteFromNodeDelete from node to visit.
traits
SqlDataSourceTraitsCollection 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
node
SqlDeleteFromNodeDelete from node to visit.
traits
SqlDataSourceTraitsCollection 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
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)
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
node
SqlInsertIntoNode
VisitInsertIntoFromCompoundQuery(SqlInsertIntoNode, SqlCompoundQueryExpressionNode)
Visits an SqlInsertIntoNode with source of SqlCompoundQueryExpressionNode type.
protected virtual void VisitInsertIntoFromCompoundQuery(SqlInsertIntoNode node, SqlCompoundQueryExpressionNode query)
Parameters
node
SqlInsertIntoNodeInsert into node to visit.
query
SqlCompoundQueryExpressionNodeSource query.
VisitInsertIntoFromDataSourceQuery(SqlInsertIntoNode, SqlDataSourceQueryExpressionNode)
Visits an SqlInsertIntoNode with source of SqlDataSourceQueryExpressionNode type.
protected virtual void VisitInsertIntoFromDataSourceQuery(SqlInsertIntoNode node, SqlDataSourceQueryExpressionNode query)
Parameters
node
SqlInsertIntoNodeInsert into node to visit.
query
SqlDataSourceQueryExpressionNodeSource query.
VisitInsertIntoFromGenericSource(SqlInsertIntoNode)
Visits an SqlInsertIntoNode with source of non-query type.
protected virtual void VisitInsertIntoFromGenericSource(SqlInsertIntoNode node)
Parameters
node
SqlInsertIntoNodeInsert 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
node
SqlLimitTraitNode
VisitLiteral(SqlLiteralNode)
Visits an SqlLiteralNode.
public override void VisitLiteral(SqlLiteralNode node)
Parameters
node
SqlLiteralNode
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
node
SqlOffsetTraitNode
VisitOptionalLimitExpression(SqlExpressionNode?)
Visits optional SqlExpressionNode value representing limit
.
protected void VisitOptionalLimitExpression(SqlExpressionNode? limit)
Parameters
limit
SqlExpressionNodeLimit value to visit.
VisitOptionalOffsetExpression(SqlExpressionNode?)
Visits optional SqlExpressionNode value representing offset
.
protected void VisitOptionalOffsetExpression(SqlExpressionNode? offset)
Parameters
offset
SqlExpressionNodeOffset value to visit.
VisitParameter(SqlParameterNode)
Visits an SqlParameterNode.
public override void VisitParameter(SqlParameterNode node)
Parameters
node
SqlParameterNode
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
traits
SqlQueryTraitsCollection 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
node
SqlRenameColumnNode
VisitRenameTable(SqlRenameTableNode)
Visits an SqlRenameTableNode.
public override void VisitRenameTable(SqlRenameTableNode node)
Parameters
node
SqlRenameTableNode
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
functionName
stringName of the aggregate function.
node
SqlAggregateFunctionExpressionNodeSQL 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
node
SqlUpdateNodeUpdate node to visit.
targetInfo
SqlNodeInterpreter.ChangeTargetInfoSqlNodeInterpreter.ChangeTargetInfo instance associated with the operation.
traits
SqlDataSourceTraitsCollection 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
node
SqlTruncateNode
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
node
SqlUpdateNode
VisitUpdateFrom(SqlUpdateNode, in SqlDataSourceTraits)
Visits an SqlUpdateNode using an UPDATE FROM statement.
protected virtual void VisitUpdateFrom(SqlUpdateNode node, in SqlDataSourceTraits traits)
Parameters
node
SqlUpdateNodeUpdate node to visit.
traits
SqlDataSourceTraitsCollection 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
node
SqlUpdateNodeUpdate node to visit.
traits
SqlDataSourceTraitsCollection of traits.
Remarks
See IsValidSingleTableUpdateStatement(SqlDataSourceNode, in SqlDataSourceTraits) for more information.
VisitUpsert(SqlUpsertNode)
Visits an SqlUpsertNode.
public override sealed void VisitUpsert(SqlUpsertNode node)
Parameters
node
SqlUpsertNode
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
node
SqlUpsertNodeUpsert node to visit.
conflictTarget
ReadOnlyArray<SqlDataFieldNode>Collection of data fields from the table that define the insertion conflict target.
query
SqlCompoundQueryExpressionNodeSource 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
node
SqlUpsertNodeUpsert node to visit.
conflictTarget
ReadOnlyArray<SqlDataFieldNode>Collection of data fields from the table that define the insertion conflict target.
query
SqlDataSourceQueryExpressionNodeSource query.
VisitUpsertFromGenericSource(SqlUpsertNode, ReadOnlyArray<SqlDataFieldNode>)
Visits an SqlUpsertNode with source of non-query type.
protected virtual void VisitUpsertFromGenericSource(SqlUpsertNode node, ReadOnlyArray<SqlDataFieldNode> conflictTarget)
Parameters
node
SqlUpsertNodeUpsert node to visit.
conflictTarget
ReadOnlyArray<SqlDataFieldNode>Collection of data fields from the table that define the insertion conflict target.