GeneratedColumn<T extends Object> class
Implementation for a Column declared on a table.
- Inheritance
-
- Object
- Expression<
T> - Column<
T> - GeneratedColumn
- Implementers
- Available extensions
Constructors
-
GeneratedColumn(String $name, String tableName, bool $nullable, {T? clientDefault()?, required BaseSqlType<
T> type, void defaultConstraints(GenerationContext)?, String? $customConstraints, Expression<T> ? defaultValue, VerificationResult additionalChecks(T?, VerificationMeta)?, bool requiredDuringInsert = false, GeneratedAs? generatedAs, Expression<bool> check()?, bool hasAutoIncrement = false}) - Used by generated code.
Properties
- $customConstraints → String?
-
Custom constraints that have been specified for this column.
final
- $name → String
-
The sql name of this column.
final
- $nullable → bool
-
Whether null values are allowed for this column.
final
- additionalChecks → VerificationResult Function(T?, VerificationMeta)?
-
Additional checks performed on values before inserts or updates.
final
-
check
→ Expression<
bool> Function()? -
A
CHECK
column constraint present on this column.final - clientDefault → T? Function()?
-
A function that yields a default column for inserts if no value has been
set. This is different to defaultValue since the function is written in
Dart, not SQL. It's a compile-time error to declare columns where both
defaultValue and clientDefault are non-null.
final
-
defaultValue
→ Expression<
T> ? -
The default expression to be used during inserts when no value has been
specified. Can be null if no default value is set.
final
-
driftSqlType
→ BaseSqlType<
T> -
The
BaseSqlType
backing this expression.no setteroverride - escapedName → String
-
name, but wrapped in double quotes to escape it as a a same identifier.
no setterinherited
- generatedAs → GeneratedAs?
-
If this column is generated (that is, it is a SQL expression of other)
columns, contains information about how to generate this column.
final
- hasAutoIncrement → bool
-
Whether this column has an
AUTOINCREMENT
primary key constraint that was created by drift.final - hashCode → int
-
The hash code for this object.
no setteroverride
- isLiteral → bool
-
Whether this expression is a literal. Some use-sites need to put
parentheses around non-literals.
no setterinherited
- name → String
-
The (unescaped) name of this column.
no setteroverride
- precedence → Precedence
-
The precedence of this expression. This can be used to automatically put
parentheses around expressions as needed.
finalinherited
- requiredDuringInsert → bool
-
Whether a value is required for this column when inserting a new row.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- tableName → String
-
The name of the table that contains this column
final
-
type
→ BaseSqlType<
T> -
The sql type to use for this column.
final
Methods
-
caseMatch<
T extends Object> ({required Map< Expression< when, Expression<T> , Expression<T> >T> ? orElse}) → Expression<T> -
A
CASE WHEN
construct using the current expression as a base.inherited -
cast<
D2 extends Object> ([BaseSqlType< D2> ? type]) → Expression<D2> -
Generates a
CAST(expression AS TYPE)
expression.inherited -
dartCast<
D2 extends Object> ({CustomSqlType< D2> ? customType}) → Expression<D2> -
Casts this expression to an expression of
D
.inherited -
equals(
T compare) → Expression< bool> -
Whether this column is equal to the given value, which must have a fitting
type. The
compare
value will be written as a variable using prepared statements, so there is no risk of an SQL-injection.inherited -
equalsExp(
Expression< T> compare) → Expression<bool> -
Whether this expression is equal to the given expression.
inherited
-
equalsNullable(
T? compare) → Expression< bool> -
Compares the value of this column to
compare
ornull
.inherited -
escapedNameFor(
SqlDialect dialect) → String -
name, but wrapped in double quotes or the DBMS-specific escape
identifier.
inherited
-
iif<
T extends Object> (Expression< bool> predicate, Expression<T> ifFalse) → Expression<T> -
Evaluates to
this
ifpredicate
is true, otherwise evaluates toifFalse
.inherited -
isAcceptableOrUnknown(
Expression< Object> value, VerificationMeta meta) → VerificationResult - A more general version of isAcceptableValue that supports any sql expression.
-
isAcceptableValue(
T? value, VerificationMeta meta) → VerificationResult - Checks whether the given value fits into this column. The default implementation only checks for nullability, but subclasses might enforce additional checks. For instance, a text column might verify that a text has a certain length.
-
isExp(
Expression< T> other) → Expression<bool> -
Generates an
IS
expression in SQL, comparing this expression with theother
expression.inherited -
isIn(
Iterable< T> values) → Expression<bool> -
An expression that is true if
this
resolves to any of the values invalues
.inherited -
isInExp(
List< Expression< expressions) → Expression<T> >bool> -
An expression that evaluates to
true
if this expression resolves to a value that one of theexpressions
resolve to as well.inherited -
isInQuery(
BaseSelectStatement select) → Expression< bool> -
An expression checking whether
this
is included in any row of the providedselect
statement.inherited -
isNotExp(
Expression< T> other) → Expression<bool> -
Generates an
IS NOT
expression in SQL, comparing this expression with theother
expression.inherited -
isNotIn(
Iterable< T> values) → Expression<bool> -
An expression that is true if
this
does not resolve to any of the values invalues
.inherited -
isNotInExp(
List< Expression< expressions) → Expression<T> >bool> -
An expression that evaluates to
true
if this expression does not resolve to any value that theexpressions
resolve to.inherited -
isNotInQuery(
BaseSelectStatement select) → Expression< bool> -
An expression checking whether
this
is not included in any row of the providedselect
statement.inherited -
isNotNull(
) → Expression< bool> -
Expression that is true if the inner expression resolves to a non-null
value.
inherited
-
isNotValue(
T value) → Expression< bool> -
Generates an
IS NOT
expression in SQL, comparing this expression with the Dartvalue
.inherited -
isNull(
) → Expression< bool> -
Expression that is true if the inner expression resolves to a null value.
inherited
-
isValue(
T value) → Expression< bool> -
Generates an
IS
expression in SQL, comparing this expression with the Dartvalue
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
nullIf(
Expression< T> matcher) → Expression<T> -
Returns
null
ifmatcher
is equal to this expression,this
otherwise.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
withConverter<
D> (TypeConverter< D, T?> converter) → GeneratedColumnWithTypeConverter<D, T> - Applies a type converter to this column.
-
writeAroundPrecedence(
GenerationContext context, Precedence precedence) → void -
Writes this expression into the GenerationContext, assuming that there's
an outer expression with
precedence
. If the Expression.precedence ofthis
expression is lower, it will be wrap}ped ininherited -
writeColumnDefinition(
GenerationContext into) → void - Writes the definition of this column, as defined here, into the given buffer.
-
writeInner(
GenerationContext ctx, Expression< Object> inner) → void -
If this Expression wraps an
inner
expression, this utility method can be used inside writeInto to write that inner expression while wrapping it in parentheses if necessary.inherited -
writeInto(
GenerationContext context, {bool ignoreEscape = false}) → void -
Writes this component into the
context
by writing to its GenerationContext.buffer or by introducing bound variables. When writing into the buffer, no whitespace around the this component should be introduced. When a component consists of multiple composed component, it's responsible for introducing whitespace between its child components.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override
Static Methods
-
checkTextLength(
{int? minTextLength, int? maxTextLength}) → VerificationResult Function(String?, VerificationMeta) - A value for additionalChecks validating allowed text lengths.
-
constraintIsAlways(
String constraint) → void Function(GenerationContext) -
A helper method to make creating
defaultConstraints
simpler. Used when the constraint does not depend on the dialect. -
constraintsDependsOnDialect(
Map< SqlDialect, String> constraints) → void Function(GenerationContext) -
A helper method to make creating
defaultConstraints
simpler. Used when the constraint depends on the dialect.