Table of Contents

Class SqlExpressionValidator

Namespace
LfrlAnvil.Sql.Internal
Assembly
LfrlAnvil.Sql.Core.dll

Represents an object capable of recursive traversal over an SQL syntax tree that is responsible for checking the validity of SQL syntax trees.

public abstract class SqlExpressionValidator : SqlNodeVisitor, ISqlNodeVisitor
Inheritance
SqlExpressionValidator
Implements
Derived
Inherited Members
Extension Methods

Properties

ForbiddenNodes

Collection of SqlNodeBase instances forbidden by this validator.

protected ReadOnlySpan<SqlNodeBase> ForbiddenNodes { get; }

Property Value

ReadOnlySpan<SqlNodeBase>

Methods

AddForbiddenNode(SqlNodeBase)

Adds the provided node to the ForbiddenNodes collection, unless it already exists.

protected void AddForbiddenNode(SqlNodeBase node)

Parameters

node SqlNodeBase

Node to add.

VisitAddColumn(SqlAddColumnNode)

Visits an SqlAddColumnNode.

public override void VisitAddColumn(SqlAddColumnNode node)

Parameters

node SqlAddColumnNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitBeginTransaction(SqlBeginTransactionNode)

public override void VisitBeginTransaction(SqlBeginTransactionNode node)

Parameters

node SqlBeginTransactionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitCheckDefinition(SqlCheckDefinitionNode)

public override void VisitCheckDefinition(SqlCheckDefinitionNode node)

Parameters

node SqlCheckDefinitionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitColumn(SqlColumnNode)

Visits an SqlColumnNode.

public override void VisitColumn(SqlColumnNode node)

Parameters

node SqlColumnNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitColumnBuilder(SqlColumnBuilderNode)

public override void VisitColumnBuilder(SqlColumnBuilderNode node)

Parameters

node SqlColumnBuilderNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitColumnDefinition(SqlColumnDefinitionNode)

public override void VisitColumnDefinition(SqlColumnDefinitionNode node)

Parameters

node SqlColumnDefinitionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitCommitTransaction(SqlCommitTransactionNode)

public override void VisitCommitTransaction(SqlCommitTransactionNode node)

Parameters

node SqlCommitTransactionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitCreateIndex(SqlCreateIndexNode)

Visits an SqlCreateIndexNode.

public override void VisitCreateIndex(SqlCreateIndexNode node)

Parameters

node SqlCreateIndexNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitCreateTable(SqlCreateTableNode)

Visits an SqlCreateTableNode.

public override void VisitCreateTable(SqlCreateTableNode node)

Parameters

node SqlCreateTableNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitCreateView(SqlCreateViewNode)

Visits an SqlCreateViewNode.

public override void VisitCreateView(SqlCreateViewNode node)

Parameters

node SqlCreateViewNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitDeleteFrom(SqlDeleteFromNode)

Visits an SqlDeleteFromNode.

public override void VisitDeleteFrom(SqlDeleteFromNode node)

Parameters

node SqlDeleteFromNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitDropColumn(SqlDropColumnNode)

Visits an SqlDropColumnNode.

public override void VisitDropColumn(SqlDropColumnNode node)

Parameters

node SqlDropColumnNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitDropIndex(SqlDropIndexNode)

Visits an SqlDropIndexNode.

public override void VisitDropIndex(SqlDropIndexNode node)

Parameters

node SqlDropIndexNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitDropTable(SqlDropTableNode)

Visits an SqlDropTableNode.

public override void VisitDropTable(SqlDropTableNode node)

Parameters

node SqlDropTableNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitDropView(SqlDropViewNode)

Visits an SqlDropViewNode.

public override void VisitDropView(SqlDropViewNode node)

Parameters

node SqlDropViewNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode)

public override void VisitForeignKeyDefinition(SqlForeignKeyDefinitionNode node)

Parameters

node SqlForeignKeyDefinitionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitInsertInto(SqlInsertIntoNode)

Visits an SqlInsertIntoNode.

public override void VisitInsertInto(SqlInsertIntoNode node)

Parameters

node SqlInsertIntoNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitNewTable(SqlNewTableNode)

Visits an SqlNewTableNode.

public override void VisitNewTable(SqlNewTableNode node)

Parameters

node SqlNewTableNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitNewView(SqlNewViewNode)

Visits an SqlNewViewNode.

public override void VisitNewView(SqlNewViewNode node)

Parameters

node SqlNewViewNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitParameter(SqlParameterNode)

Visits an SqlParameterNode.

public override void VisitParameter(SqlParameterNode node)

Parameters

node SqlParameterNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode)

public override void VisitPrimaryKeyDefinition(SqlPrimaryKeyDefinitionNode node)

Parameters

node SqlPrimaryKeyDefinitionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitQueryDataField(SqlQueryDataFieldNode)

public override void VisitQueryDataField(SqlQueryDataFieldNode node)

Parameters

node SqlQueryDataFieldNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitRawDataField(SqlRawDataFieldNode)

public override void VisitRawDataField(SqlRawDataFieldNode node)

Parameters

node SqlRawDataFieldNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitRawStatement(SqlRawStatementNode)

public override void VisitRawStatement(SqlRawStatementNode node)

Parameters

node SqlRawStatementNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitRenameColumn(SqlRenameColumnNode)

public override void VisitRenameColumn(SqlRenameColumnNode node)

Parameters

node SqlRenameColumnNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitRenameTable(SqlRenameTableNode)

Visits an SqlRenameTableNode.

public override void VisitRenameTable(SqlRenameTableNode node)

Parameters

node SqlRenameTableNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitRollbackTransaction(SqlRollbackTransactionNode)

public override void VisitRollbackTransaction(SqlRollbackTransactionNode node)

Parameters

node SqlRollbackTransactionNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitStatementBatch(SqlStatementBatchNode)

public override void VisitStatementBatch(SqlStatementBatchNode node)

Parameters

node SqlStatementBatchNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitTable(SqlTableNode)

Visits an SqlTableNode.

public override void VisitTable(SqlTableNode node)

Parameters

node SqlTableNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitTruncate(SqlTruncateNode)

Visits an SqlTruncateNode.

public override void VisitTruncate(SqlTruncateNode node)

Parameters

node SqlTruncateNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitUpdate(SqlUpdateNode)

Visits an SqlUpdateNode.

public override void VisitUpdate(SqlUpdateNode node)

Parameters

node SqlUpdateNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitUpsert(SqlUpsertNode)

Visits an SqlUpsertNode.

public override void VisitUpsert(SqlUpsertNode node)

Parameters

node SqlUpsertNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitValueAssignment(SqlValueAssignmentNode)

public override void VisitValueAssignment(SqlValueAssignmentNode node)

Parameters

node SqlValueAssignmentNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitValues(SqlValuesNode)

Visits an SqlValuesNode.

public override void VisitValues(SqlValuesNode node)

Parameters

node SqlValuesNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitView(SqlViewNode)

Visits an SqlViewNode.

public override void VisitView(SqlViewNode node)

Parameters

node SqlViewNode

Remarks

Node is added to the ForbiddenNodes collection.

VisitViewDataField(SqlViewDataFieldNode)

public override void VisitViewDataField(SqlViewDataFieldNode node)

Parameters

node SqlViewDataFieldNode

Remarks

Node is added to the ForbiddenNodes collection.