Table of Contents

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 PostgreSqlNodeInterpreterOptions

PostgreSqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.

context SqlNodeInterpreterContext

Underlying SqlNodeInterpreterContext instance.

Properties

Options

PostgreSqlNodeInterpreterOptions instance associated with this interpreter that defines its behavior.

public PostgreSqlNodeInterpreterOptions Options { get; }

Property Value

PostgreSqlNodeInterpreterOptions

TypeDefinitions

PostgreSqlColumnTypeDefinitionProvider instance associated with this interpreter.

public PostgreSqlColumnTypeDefinitionProvider TypeDefinitions { get; }

Property Value

PostgreSqlColumnTypeDefinitionProvider

Methods

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.

AppendPostgreStyleCast(PostgreSqlDataType)

Appends a type cast to the provided dataType to Context.

protected void AppendPostgreStyleCast(PostgreSqlDataType dataType)

Parameters

dataType PostgreSqlDataType

Data 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 SqlUpsertNode

SQL 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 SqlNodeBase

Node to check.

Returns

bool

true when node should be interpreted as a child node, otherwise false.

Remarks

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 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 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 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 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 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 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 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)

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

VisitBitwiseXor(SqlBitwiseXorExpressionNode)

public override void VisitBitwiseXor(SqlBitwiseXorExpressionNode node)

Parameters

node SqlBitwiseXorExpressionNode

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

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

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

VisitOptionalLimitExpression(SqlExpressionNode?)

Visits optional SqlExpressionNode value representing limit.

protected void VisitOptionalLimitExpression(SqlExpressionNode? limit)

Parameters

limit SqlExpressionNode

Limit value to visit.

VisitOptionalOffsetExpression(SqlExpressionNode?)

Visits optional SqlExpressionNode value representing offset.

protected void VisitOptionalOffsetExpression(SqlExpressionNode? offset)

Parameters

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.

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 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

VisitTruncate(SqlTruncateNode)

Visits an SqlTruncateNode.

public override void VisitTruncate(SqlTruncateNode node)

Parameters

node SqlTruncateNode

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

VisitUpdateFrom(SqlUpdateNode, in SqlDataSourceTraits)

Visits an SqlUpdateNode using an UPDATE FROM statement.

protected virtual void VisitUpdateFrom(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, ReadOnlyArray<SqlDataFieldNode>, SqlCompoundQueryExpressionNode)

Visits an SqlUpsertNode with source of SqlCompoundQueryExpressionNode type.

protected virtual void VisitUpsertFromCompoundQuery(SqlUpsertNode node, ReadOnlyArray<SqlDataFieldNode> conflictTarget, SqlCompoundQueryExpressionNode query)

Parameters

node SqlUpsertNode

Upsert node to visit.

conflictTarget ReadOnlyArray<SqlDataFieldNode>

Collection of data fields from the table that define the insertion conflict target.

query SqlCompoundQueryExpressionNode

Source 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 SqlUpsertNode

Upsert node to visit.

conflictTarget ReadOnlyArray<SqlDataFieldNode>

Collection of data fields from the table that define the insertion conflict target.

query SqlDataSourceQueryExpressionNode

Source 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 SqlUpsertNode

Upsert node to visit.

conflictTarget ReadOnlyArray<SqlDataFieldNode>

Collection of data fields from the table that define the insertion conflict target.