Table of Contents

Class CheckOperator

Namespace
YndigoBlue.Velocity.Model
Assembly
YndigoBlue.Velocity.dll

Represents a comparison operator used in CHECK constraints to validate column values.

public class CheckOperator : ICheckItem
Inheritance
CheckOperator
Implements

Examples

Simple CHECK constraint with greater than:

// Ensure age is at least 18
Table usersTable = schema.CreateTable("users");
Column ageColumn = usersTable.AddColumn("age", DataType.Integer);

CheckConstraint ageCheck = new CheckConstraint("age_minimum");
ageCheck.Add(ageColumn);
ageCheck.Add(new CheckOperator(CheckOperatorType.GreaterThanOrEquals));
ageCheck.Add(new Literal<int>(18));

usersTable.AddCheckConstraint(ageCheck);
// SQL: ALTER TABLE users ADD CONSTRAINT age_minimum CHECK (age >= 18)

Range validation with multiple operators:

// Ensure age is between 18 and 120
CheckConstraint ageRange = new CheckConstraint("age_range");
ageRange.Add(ageColumn);
ageRange.Add(new CheckOperator(CheckOperatorType.GreaterThanOrEquals));
ageRange.Add(new Literal<int>(18));
ageRange.Add(new BooleanItem(BooleanType.And));
ageRange.Add(ageColumn);
ageRange.Add(new CheckOperator(CheckOperatorType.LessThanOrEquals));
ageRange.Add(new Literal<int>(120));

usersTable.AddCheckConstraint(ageRange);
// SQL: CHECK (age >= 18 AND age <= 120)

Positive value validation:

// Ensure price is greater than zero
Table productsTable = schema.CreateTable("products");
Column priceColumn = productsTable.AddColumn("price", DataType.Decimal, precision: 10, scale: 2);

CheckConstraint positivePrice = new CheckConstraint("positive_price");
positivePrice.Add(priceColumn);
positivePrice.Add(new CheckOperator(CheckOperatorType.GreaterThan));
positivePrice.Add(new Literal<decimal>(0m));

productsTable.AddCheckConstraint(positivePrice);
// SQL: CHECK (price > 0)

Not equals validation:

// Ensure status is not 'deleted'
Column statusColumn = usersTable.AddColumn("status", DataType.VarChar, size: 50);

CheckConstraint notDeleted = new CheckConstraint("not_deleted");
notDeleted.Add(statusColumn);
notDeleted.Add(new CheckOperator(CheckOperatorType.NotEquals));
notDeleted.Add(new Literal<string>("deleted"));

usersTable.AddCheckConstraint(notDeleted);
// SQL: CHECK (status != 'deleted')

Remarks

CheckOperator is used within CHECK constraints to define validation rules for table columns. These operators compare column values against literal values to ensure data integrity. Supported comparison operators include:

  • Equals (=)Value must equal the specified value
  • NotEquals (!=, <>)Value must not equal the specified value
  • GreaterThan (>)Value must be greater than the specified value
  • LessThan (<)Value must be less than the specified value
  • GreaterThanOrEquals (>=)Value must be greater than or equal to the specified value
  • LessThanOrEquals (<=)Value must be less than or equal to the specified value

Constructors

CheckOperator(CheckOperatorType)

Creates a new check operator for use in CHECK constraints.

Properties

CheckConstraintType

Gets the check constraint type (always CheckConstraintType.Operator).

CheckOperatorType

Gets or sets the type of comparison operator used in the CHECK constraint.

Methods

IsEqual(ICheckItem)

Determines whether this check operator is equal to another check item.

ToString()

Returns a string representation of the check operator.