Table of Contents

Class SqlNodeDebugInterpreter

Namespace
LfrlAnvil.Sql.Expressions.Visitors
Assembly
LfrlAnvil.Sql.Core.dll

Represents an object capable of recursive traversal over an SQL syntax tree and translating that tree into its debug text representation.

public sealed class SqlNodeDebugInterpreter : SqlNodeInterpreter, ISqlNodeVisitor
Inheritance
SqlNodeDebugInterpreter
Implements
Inherited Members
Extension Methods

Remarks

This interpreter can be useful for debugging complex SQL syntax trees. It is also used in the default ToString() method implementation.

Constructors

SqlNodeDebugInterpreter()

Creates a new SqlNodeInterpreter instance with default context.

public SqlNodeDebugInterpreter()

SqlNodeDebugInterpreter(SqlNodeInterpreterContext)

Creates a new SqlNodeInterpreter instance.

public SqlNodeDebugInterpreter(SqlNodeInterpreterContext context)

Parameters

context SqlNodeInterpreterContext

Underlying SqlNodeInterpreterContext instance.

Methods

AppendDelimitedRecordSetName(SqlRecordSetNode)

Appends delimited name of the provided record set to Context.

public override void AppendDelimitedRecordSetName(SqlRecordSetNode node)

Parameters

node SqlRecordSetNode

Record set whose name should be appended.

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

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

VisitAggregationFilterTrait(SqlAggregationFilterTraitNode)

public override void VisitAggregationFilterTrait(SqlAggregationFilterTraitNode node)

Parameters

node SqlAggregationFilterTraitNode

VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode)

public override void VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode node)

Parameters

node SqlAverageAggregateFunctionExpressionNode

VisitBeginTransaction(SqlBeginTransactionNode)

public override void VisitBeginTransaction(SqlBeginTransactionNode node)

Parameters

node SqlBeginTransactionNode

VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode)

public override void VisitByteLengthFunction(SqlByteLengthFunctionExpressionNode node)

Parameters

node SqlByteLengthFunctionExpressionNode

VisitCeilingFunction(SqlCeilingFunctionExpressionNode)

public override void VisitCeilingFunction(SqlCeilingFunctionExpressionNode node)

Parameters

node SqlCeilingFunctionExpressionNode

VisitCheckDefinition(SqlCheckDefinitionNode)

public override void VisitCheckDefinition(SqlCheckDefinitionNode node)

Parameters

node SqlCheckDefinitionNode

VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode)

public override void VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode node)

Parameters

node SqlCoalesceFunctionExpressionNode

VisitColumn(SqlColumnNode)

Visits an SqlColumnNode.

public override void VisitColumn(SqlColumnNode node)

Parameters

node SqlColumnNode

VisitColumnBuilder(SqlColumnBuilderNode)

public override void VisitColumnBuilder(SqlColumnBuilderNode node)

Parameters

node SqlColumnBuilderNode

VisitColumnDefinition(SqlColumnDefinitionNode)

public override void VisitColumnDefinition(SqlColumnDefinitionNode node)

Parameters

node SqlColumnDefinitionNode

VisitCommonTableExpression(SqlCommonTableExpressionNode)

public override void VisitCommonTableExpression(SqlCommonTableExpressionNode node)

Parameters

node SqlCommonTableExpressionNode

VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode)

public override void VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode node)

Parameters

node SqlCommonTableExpressionTraitNode

VisitCompoundQuery(SqlCompoundQueryExpressionNode)

public override void VisitCompoundQuery(SqlCompoundQueryExpressionNode node)

Parameters

node SqlCompoundQueryExpressionNode

VisitConditionValue(SqlConditionValueNode)

public override void VisitConditionValue(SqlConditionValueNode node)

Parameters

node SqlConditionValueNode

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

VisitCustom(SqlNodeBase)

Visits an SqlNodeBase with Unknown type.

public override void VisitCustom(SqlNodeBase node)

Parameters

node SqlNodeBase

VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode)

public override void VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode node)

Parameters

node SqlAggregateFunctionExpressionNode

VisitCustomFunction(SqlFunctionExpressionNode)

Visits an SqlFunctionExpressionNode with Custom type.

public override void VisitCustomFunction(SqlFunctionExpressionNode node)

Parameters

node SqlFunctionExpressionNode

VisitCustomWindowFrame(SqlWindowFrameNode)

Visits an SqlWindowFrameNode with Custom type.

protected override void VisitCustomWindowFrame(SqlWindowFrameNode node)

Parameters

node SqlWindowFrameNode

Node to visit.

Exceptions

UnrecognizedSqlNodeException

Custom window frames are not supported by default.

VisitDataSource(SqlDataSourceNode)

Visits an SqlDataSourceNode.

public override void VisitDataSource(SqlDataSourceNode node)

Parameters

node SqlDataSourceNode

VisitDataSourceQuery(SqlDataSourceQueryExpressionNode)

public override void VisitDataSourceQuery(SqlDataSourceQueryExpressionNode node)

Parameters

node SqlDataSourceQueryExpressionNode

VisitDeleteFrom(SqlDeleteFromNode)

Visits an SqlDeleteFromNode.

public override void VisitDeleteFrom(SqlDeleteFromNode node)

Parameters

node SqlDeleteFromNode

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

VisitEqualTo(SqlEqualToConditionNode)

public override void VisitEqualTo(SqlEqualToConditionNode node)

Parameters

node SqlEqualToConditionNode

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

VisitFilterTrait(SqlFilterTraitNode)

Visits an SqlFilterTraitNode.

public override void VisitFilterTrait(SqlFilterTraitNode node)

Parameters

node SqlFilterTraitNode

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 void VisitInsertInto(SqlInsertIntoNode node)

Parameters

node SqlInsertIntoNode

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

VisitNotEqualTo(SqlNotEqualToConditionNode)

public override void VisitNotEqualTo(SqlNotEqualToConditionNode node)

Parameters

node SqlNotEqualToConditionNode

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

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

VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode)

public override void VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode node)

Parameters

node SqlRankWindowFunctionExpressionNode

VisitRawDataField(SqlRawDataFieldNode)

public override void VisitRawDataField(SqlRawDataFieldNode node)

Parameters

node SqlRawDataFieldNode

VisitRawRecordSet(SqlRawRecordSetNode)

public override void VisitRawRecordSet(SqlRawRecordSetNode node)

Parameters

node SqlRawRecordSetNode

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

VisitSelectField(SqlSelectFieldNode)

Visits an SqlSelectFieldNode.

public override void VisitSelectField(SqlSelectFieldNode node)

Parameters

node SqlSelectFieldNode

VisitSignFunction(SqlSignFunctionExpressionNode)

public override void VisitSignFunction(SqlSignFunctionExpressionNode node)

Parameters

node SqlSignFunctionExpressionNode

VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode)

public override void VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode node)

Parameters

node SqlSquareRootFunctionExpressionNode

VisitStatementBatch(SqlStatementBatchNode)

public override void VisitStatementBatch(SqlStatementBatchNode node)

Parameters

node SqlStatementBatchNode

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 void VisitUpdate(SqlUpdateNode node)

Parameters

node SqlUpdateNode

VisitUpsert(SqlUpsertNode)

Visits an SqlUpsertNode.

public override void VisitUpsert(SqlUpsertNode node)

Parameters

node SqlUpsertNode

VisitValueAssignment(SqlValueAssignmentNode)

public override void VisitValueAssignment(SqlValueAssignmentNode node)

Parameters

node SqlValueAssignmentNode

VisitWindowTrait(SqlWindowTraitNode)

Visits an SqlWindowTraitNode.

public override void VisitWindowTrait(SqlWindowTraitNode node)

Parameters

node SqlWindowTraitNode