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
SqlNodeInterpreterContextUnderlying SqlNodeInterpreterContext instance.
Methods
AppendDelimitedRecordSetName(SqlRecordSetNode)
Appends delimited name of the provided record set to Context.
public override void AppendDelimitedRecordSetName(SqlRecordSetNode node)
Parameters
node
SqlRecordSetNodeRecord 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
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.
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
VisitAggregationFilterTrait(SqlAggregationFilterTraitNode)
Visits an SqlAggregationFilterTraitNode.
public override void VisitAggregationFilterTrait(SqlAggregationFilterTraitNode node)
Parameters
VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode)
Visits an SqlAverageAggregateFunctionExpressionNode.
public override void VisitAverageAggregateFunction(SqlAverageAggregateFunctionExpressionNode node)
Parameters
VisitBeginTransaction(SqlBeginTransactionNode)
Visits an SqlBeginTransactionNode.
public override void VisitBeginTransaction(SqlBeginTransactionNode 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
VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode)
Visits an SqlCoalesceFunctionExpressionNode.
public override void VisitCoalesceFunction(SqlCoalesceFunctionExpressionNode node)
Parameters
VisitColumn(SqlColumnNode)
Visits an SqlColumnNode.
public override void VisitColumn(SqlColumnNode node)
Parameters
node
SqlColumnNode
VisitColumnBuilder(SqlColumnBuilderNode)
Visits an SqlColumnBuilderNode.
public override void VisitColumnBuilder(SqlColumnBuilderNode node)
Parameters
node
SqlColumnBuilderNode
VisitColumnDefinition(SqlColumnDefinitionNode)
Visits an SqlColumnDefinitionNode.
public override void VisitColumnDefinition(SqlColumnDefinitionNode node)
Parameters
VisitCommonTableExpression(SqlCommonTableExpressionNode)
Visits an SqlCommonTableExpressionNode.
public override void VisitCommonTableExpression(SqlCommonTableExpressionNode node)
Parameters
VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode)
Visits an SqlCommonTableExpressionTraitNode.
public override void VisitCommonTableExpressionTrait(SqlCommonTableExpressionTraitNode node)
Parameters
VisitCompoundQuery(SqlCompoundQueryExpressionNode)
Visits an SqlCompoundQueryExpressionNode.
public override void VisitCompoundQuery(SqlCompoundQueryExpressionNode node)
Parameters
VisitConditionValue(SqlConditionValueNode)
Visits an SqlConditionValueNode.
public override void VisitConditionValue(SqlConditionValueNode 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
VisitCustom(SqlNodeBase)
Visits an SqlNodeBase with Unknown type.
public override void VisitCustom(SqlNodeBase node)
Parameters
node
SqlNodeBase
VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode)
Visits an SqlAggregateFunctionExpressionNode with Custom type.
public override void VisitCustomAggregateFunction(SqlAggregateFunctionExpressionNode node)
Parameters
VisitCustomFunction(SqlFunctionExpressionNode)
Visits an SqlFunctionExpressionNode with Custom type.
public override void VisitCustomFunction(SqlFunctionExpressionNode node)
Parameters
VisitCustomWindowFrame(SqlWindowFrameNode)
Visits an SqlWindowFrameNode with Custom type.
protected override void VisitCustomWindowFrame(SqlWindowFrameNode node)
Parameters
node
SqlWindowFrameNodeNode 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)
Visits an SqlDataSourceQueryExpressionNode.
public override void VisitDataSourceQuery(SqlDataSourceQueryExpressionNode node)
Parameters
VisitDeleteFrom(SqlDeleteFromNode)
Visits an SqlDeleteFromNode.
public override void VisitDeleteFrom(SqlDeleteFromNode node)
Parameters
node
SqlDeleteFromNode
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
VisitEqualTo(SqlEqualToConditionNode)
Visits an SqlEqualToConditionNode.
public override void VisitEqualTo(SqlEqualToConditionNode node)
Parameters
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
VisitFilterTrait(SqlFilterTraitNode)
Visits an SqlFilterTraitNode.
public override void VisitFilterTrait(SqlFilterTraitNode node)
Parameters
node
SqlFilterTraitNode
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 void VisitInsertInto(SqlInsertIntoNode node)
Parameters
node
SqlInsertIntoNode
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
VisitNotEqualTo(SqlNotEqualToConditionNode)
Visits an SqlNotEqualToConditionNode.
public override void VisitNotEqualTo(SqlNotEqualToConditionNode 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
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
VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode)
Visits an SqlRankWindowFunctionExpressionNode.
public override void VisitRankWindowFunction(SqlRankWindowFunctionExpressionNode node)
Parameters
VisitRawDataField(SqlRawDataFieldNode)
Visits an SqlRawDataFieldNode.
public override void VisitRawDataField(SqlRawDataFieldNode node)
Parameters
node
SqlRawDataFieldNode
VisitRawRecordSet(SqlRawRecordSetNode)
Visits an SqlRawRecordSetNode.
public override void VisitRawRecordSet(SqlRawRecordSetNode node)
Parameters
node
SqlRawRecordSetNode
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
VisitSelectField(SqlSelectFieldNode)
Visits an SqlSelectFieldNode.
public override void VisitSelectField(SqlSelectFieldNode node)
Parameters
node
SqlSelectFieldNode
VisitSignFunction(SqlSignFunctionExpressionNode)
Visits an SqlSignFunctionExpressionNode.
public override void VisitSignFunction(SqlSignFunctionExpressionNode node)
Parameters
VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode)
Visits an SqlSquareRootFunctionExpressionNode.
public override void VisitSquareRootFunction(SqlSquareRootFunctionExpressionNode node)
Parameters
VisitStatementBatch(SqlStatementBatchNode)
Visits an SqlStatementBatchNode.
public override void VisitStatementBatch(SqlStatementBatchNode 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 void VisitUpdate(SqlUpdateNode node)
Parameters
node
SqlUpdateNode
VisitUpsert(SqlUpsertNode)
Visits an SqlUpsertNode.
public override void VisitUpsert(SqlUpsertNode node)
Parameters
node
SqlUpsertNode
VisitValueAssignment(SqlValueAssignmentNode)
Visits an SqlValueAssignmentNode.
public override void VisitValueAssignment(SqlValueAssignmentNode node)
Parameters
VisitWindowTrait(SqlWindowTraitNode)
Visits an SqlWindowTraitNode.
public override void VisitWindowTrait(SqlWindowTraitNode node)
Parameters
node
SqlWindowTraitNode