GeneratedColumn<T extends Object> class
Implementation for a Column declared on a table.
- Inheritance
-
- Object
- Expression<
T> - Column<
T> - GeneratedColumn
- 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
CHECKcolumn 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
-
date
→ Expression<
String> -
Available on Expression<
Formats this datetime in the formatDateTime> , provided by the DateTimeExpressions extensionyear-month-day.no setter -
datetime
→ Expression<
String> -
Available on Expression<
Formats this datetime in the formatDateTime> , provided by the DateTimeExpressions extensionyear-month-day hour:minute:second.no setter -
day
→ Expression<
int> -
Available on Expression<
Extracts the day fromDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter -
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
BaseSqlTypebacking 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
AUTOINCREMENTprimary key constraint that was created by drift.final - hashCode → int
-
The hash code for this object.
no setteroverride
-
hour
→ Expression<
int> -
Available on Expression<
Extracts the hour fromDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter - isLiteral → bool
-
Whether this expression is a literal. Some use-sites need to put
parentheses around non-literals.
no setterinherited
-
julianday
→ Expression<
double> -
Available on Expression<
Formats this datetime in the Julian day format - a fractional number of days since noon in Greenwich on November 24, 4714 B.C.DateTime> , provided by the DateTimeExpressions extensionno setter -
length
→ Expression<
int> -
Available on Expression<
Calls the sqlite functionString> , provided by the StringExpressionOperators extensionLENGTHonthisstring, which counts the number of characters in this string. Note that, in most sqlite installations, length may not support all unicode rules.no setter -
minute
→ Expression<
int> -
Available on Expression<
Extracts the minute fromDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter -
month
→ Expression<
int> -
Available on Expression<
Extracts the month fromDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter - 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
-
second
→ Expression<
int> -
Available on Expression<
Extracts the second fromDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter -
secondsSinceEpoch
→ Expression<
int> -
Available on Expression<
Returns an expression containing the amount of seconds from the unix epoch (January 1st, 1970) toDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter - tableName → String
-
The name of the table that contains this column
final
-
time
→ Expression<
String> -
Available on Expression<
Formats this datetime in the formatDateTime> , provided by the DateTimeExpressions extensionhour:minute:second.no setter -
type
→ BaseSqlType<
T> -
The sql type to use for this column.
final
-
unixepoch
→ Expression<
int> -
Available on Expression<
Formats this datetime as a unix timestamp - the number of seconds since 1970-01-01 00:00:00 UTC.DateTime> , provided by the DateTimeExpressions extensionno setter -
year
→ Expression<
int> -
Available on Expression<
Extracts the year fromDateTime> , provided by the DateTimeExpressions extensionthisdatetime expression.no setter
Methods
-
abs(
) → Expression< BigInt> -
Available on Expression<
Calculates the absolute value of this number.BigInt> , provided by the ArithmeticBigIntExpr extension -
abs(
) → Expression< DT> -
Available on Expression<
Calculates the absolute value of this number.DT> , provided by the ArithmeticExpr extension -
avg(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Return the average of all non-null values in this group.BigInt> , provided by the BigIntAggregates extension -
avg(
{Expression< bool> ? filter}) → Expression<DateTime> -
Available on Expression<
Return the average of all non-null values in this group. To only consider rows matching a predicate, you can set the optionalDateTime> , provided by the DateTimeAggregate extensionfilter. Note thatfilteris only available from sqlite 3.30, released on 2019-10-04. Most devices will use an older sqlite version. -
avg(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Return the average of all non-null values in this group.DT> , provided by the ArithmeticAggregates extension -
bitwiseAnd(
Expression< int> other) → Expression<int> -
Available on Expression<
Returns the bitwise-and operation betweenint> , provided by the BitwiseInt extensionthisandother. -
bitwiseAnd(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Returns the bitwise-and operation betweenBigInt> , provided by the BitwiseBigInt extensionthisandother. -
bitwiseOr(
Expression< int> other) → Expression<int> -
Available on Expression<
Returns the bitwise-or operation betweenint> , provided by the BitwiseInt extensionthisandother. -
bitwiseOr(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Returns the bitwise-or operation betweenBigInt> , provided by the BitwiseBigInt extensionthisandother. -
caseMatch<
T extends Object> ({required Map< Expression< when, Expression<T> , Expression<T> >T> ? orElse}) → Expression<T> -
A
CASE WHENconstruct 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 -
collate(
Collate collate) → Expression< String> -
Available on Expression<
Uses the givenString> , provided by the StringExpressionOperators extensioncollatesequence when comparing this column to other values. -
contains(
String substring) → Expression< bool> -
Available on Expression<
Whether this expression containsString> , provided by the StringExpressionOperators extensionsubstring. -
count(
{bool distinct = false, Expression< bool> ? filter}) → Expression<int> -
Available on Expression<
Returns how often this expression is non-null in the current group.DT> , provided by the BaseAggregate extension -
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
comparevalue 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
compareornull.inherited -
escapedNameFor(
SqlDialect dialect) → String -
name, but wrapped in double quotes or the DBMS-specific escape
identifier.
inherited
-
groupConcat(
{String separator = ',', bool distinct = false, Expression< bool> ? filter, OrderBy? orderBy}) → Expression<String> -
Available on Expression<
Returns the concatenation of all non-null values in the current group, joined by theDT> , provided by the BaseAggregate extensionseparator. -
iif<
T extends Object> (Expression< bool> predicate, Expression<T> ifFalse) → Expression<T> -
Evaluates to
thisifpredicateis 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.
-
isBetween(
Expression< DT> lower, Expression<DT> higher, {bool not = false}) → Expression<bool> -
Available on Expression<
Returns an expression evaluating to true if this expression is betweenDT> , provided by the ComparableExpr extensionlowerandhigher(both inclusive). -
isBetweenValues(
DT lower, DT higher, {bool not = false}) → Expression< bool> -
Available on Expression<
Returns an expression evaluating to true if this expression is betweenDT> , provided by the ComparableExpr extensionlowerandhigher(both inclusive). -
isBiggerOrEqual(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is bigger than or equal to he other expression.DT> , provided by the ComparableExpr extension -
isBiggerOrEqualValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is bigger than or equal to he other value.DT> , provided by the ComparableExpr extension -
isBiggerThan(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly bigger than the other expression.DT> , provided by the ComparableExpr extension -
isBiggerThanValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly bigger than the other value.DT> , provided by the ComparableExpr extension -
isExp(
Expression< T> other) → Expression<bool> -
Generates an
ISexpression in SQL, comparing this expression with theotherexpression.inherited -
isIn(
Iterable< T> values) → Expression<bool> -
An expression that is true if
thisresolves to any of the values invalues.inherited -
isInExp(
List< Expression< expressions) → Expression<T> >bool> -
An expression that evaluates to
trueif this expression resolves to a value that one of theexpressionsresolve to as well.inherited -
isInQuery(
BaseSelectStatement select) → Expression< bool> -
An expression checking whether
thisis included in any row of the providedselectstatement.inherited -
isNotExp(
Expression< T> other) → Expression<bool> -
Generates an
IS NOTexpression in SQL, comparing this expression with theotherexpression.inherited -
isNotIn(
Iterable< T> values) → Expression<bool> -
An expression that is true if
thisdoes not resolve to any of the values invalues.inherited -
isNotInExp(
List< Expression< expressions) → Expression<T> >bool> -
An expression that evaluates to
trueif this expression does not resolve to any value that theexpressionsresolve to.inherited -
isNotInQuery(
BaseSelectStatement select) → Expression< bool> -
An expression checking whether
thisis not included in any row of the providedselectstatement.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 NOTexpression 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
-
isSmallerOrEqual(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is smaller than or equal to he other expression.DT> , provided by the ComparableExpr extension -
isSmallerOrEqualValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is smaller than or equal to he other value.DT> , provided by the ComparableExpr extension -
isSmallerThan(
Expression< DT> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly smaller than the other expression.DT> , provided by the ComparableExpr extension -
isSmallerThanValue(
DT other) → Expression< bool> -
Available on Expression<
Returns an expression that is true if this expression is strictly smaller than the other value.DT> , provided by the ComparableExpr extension -
isValue(
T value) → Expression< bool> -
Generates an
ISexpression in SQL, comparing this expression with the Dartvalue.inherited -
like(
String regex, {String? escapeChar}) → Expression< bool> -
Available on Expression<
Whether this column matches the given expression.String> , provided by the StringExpressionOperators extension -
likeExp(
Expression< String> regex, {Expression<String> ? escape}) → Expression<bool> -
Available on Expression<
Whether this column matches the given expression.String> , provided by the StringExpressionOperators extension -
lower(
) → Expression< String> -
Available on Expression<
Calls the sqlite functionString> , provided by the StringExpressionOperators extensionLOWERonthisstring. Please note that, in most sqlite installations, this only affects ascii chars. -
max(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the maximum of all non-null values in this group.DT> , provided by the BaseAggregate extension -
max(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the maximum of all non-null values in this group.DT> , provided by the ArithmeticAggregates extension -
max(
{Expression< bool> ? filter}) → Expression<BigInt> -
Available on Expression<
Return the maximum of all non-null values in this group.BigInt> , provided by the BigIntAggregates extension -
max(
{Expression< bool> ? filter}) → Expression<DateTime> -
Available on Expression<
Return the maximum of all non-null values in this group.DateTime> , provided by the DateTimeAggregate extension -
min(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the minimum of all non-null values in this group.DT> , provided by the BaseAggregate extension -
min(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Return the minimum of all non-null values in this group.DT> , provided by the ArithmeticAggregates extension -
min(
{Expression< bool> ? filter}) → Expression<BigInt> -
Available on Expression<
Return the minimum of all non-null values in this group.BigInt> , provided by the BigIntAggregates extension -
min(
{Expression< bool> ? filter}) → Expression<DateTime> -
Available on Expression<
Return the minimum of all non-null values in this group.DateTime> , provided by the DateTimeAggregate extension -
modify(
DateTimeModifier modifier) → Expression< DateTime> -
Available on Expression<
Apply a modifier that alters the date and/or time.DateTime> , provided by the DateTimeExpressions extension -
modifyAll(
Iterable< DateTimeModifier> modifiers) → Expression<DateTime> -
Available on Expression<
Applies modifiers that alters the date and/or time.DateTime> , provided by the DateTimeExpressions extension -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
not(
) → Expression< bool> -
Available on Expression<
Negates this boolean expression. The returned expression is true ifbool> , provided by the BooleanExpressionOperators extensionthisis false, and vice versa. -
nullIf(
Expression< T> matcher) → Expression<T> -
Returns
nullifmatcheris equal to this expression,thisotherwise.inherited -
regexp(
String regex, {bool multiLine = false, bool caseSensitive = true, bool unicode = false, bool dotAll = false}) → Expression< bool> -
Available on Expression<
Matches this string against the regular expression inString> , provided by the StringExpressionOperators extensionregex. -
roundToInt(
) → Expression< int> -
Available on Expression<
Rounds this expression to the nearest integer.DT> , provided by the ArithmeticExpr extension -
roundToInt(
) → Expression< int> -
Available on Expression<
Rounds this expression to the nearest integer.BigInt> , provided by the ArithmeticBigIntExpr extension -
strftime(
String format) → Expression< String> -
Available on Expression<
Formats this datetime according to the format string specified as the first argument. The format string supports the most common substitutions found in the strftime() function from the standard C library plus two new substitutions, %f and %J. The following is a complete list of valid strftime() substitutions:DateTime> , provided by the DateTimeExpressions extension -
substr(
int start, [int? length]) → Expression< String> -
Available on Expression<
Calls theString> , provided by the StringExpressionOperators extensionsubstrfunction on this string. -
substrExpr(
Expression< int> start, [Expression<int> ? length]) → Expression<String> -
Available on Expression<
Calls theString> , provided by the StringExpressionOperators extensionsubstrfunction with arbitrary expressions as arguments. -
sum(
{Expression< bool> ? filter}) → Expression<BigInt> -
Available on Expression<
Calculate the sum of all non-null values in the group.BigInt> , provided by the BigIntAggregates extension -
sum(
{Expression< bool> ? filter}) → Expression<DT> -
Available on Expression<
Calculate the sum of all non-null values in the group.DT> , provided by the ArithmeticAggregates extension -
toString(
) → String -
A string representation of this object.
inherited
-
total(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Calculate the sum of all non-null values in the group.BigInt> , provided by the BigIntAggregates extension -
total(
{Expression< bool> ? filter}) → Expression<double> -
Available on Expression<
Calculate the sum of all non-null values in the group.DT> , provided by the ArithmeticAggregates extension -
trim(
) → Expression< String> -
Available on Expression<
Removes spaces from both ends of this string.String> , provided by the StringExpressionOperators extension -
trimLeft(
) → Expression< String> -
Available on Expression<
Removes spaces from the beginning of this string.String> , provided by the StringExpressionOperators extension -
trimRight(
) → Expression< String> -
Available on Expression<
Removes spaces from the end of this string.String> , provided by the StringExpressionOperators extension -
upper(
) → Expression< String> -
Available on Expression<
Calls the sqlite functionString> , provided by the StringExpressionOperators extensionUPPERonthisstring. Please note that, in most sqlite installations, this only affects ascii chars. -
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 ofthisexpression 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
innerexpression, 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
contextby 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 &(
Expression< bool> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true iff bothbool> , provided by the BooleanExpressionOperators extensionthisandotherare true. -
operator *(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs a multiplication (BigInt> , provided by the ArithmeticBigIntExpr extensionthis*other) in sql. -
operator *(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs a multiplication (DT> , provided by the ArithmeticExpr extensionthis*other) in sql. -
operator +(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs an addition (BigInt> , provided by the ArithmeticBigIntExpr extensionthis+other) in sql. -
operator +(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs an addition (DT> , provided by the ArithmeticExpr extensionthis+other) in sql. -
operator +(
Duration duration) → Expression< DateTime> -
Available on Expression<
Adds aDateTime> , provided by the DateTimeExpressions extensiondurationto this date. -
operator +(
Expression< String> other) → Expression<String> -
Available on Expression<
Performs a string concatenation in sql by appendingString> , provided by the StringExpressionOperators extensionothertothis. -
operator -(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs a subtraction (BigInt> , provided by the ArithmeticBigIntExpr extensionthis-other) in sql. -
operator -(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs a subtraction (DT> , provided by the ArithmeticExpr extensionthis-other) in sql. -
operator -(
Duration duration) → Expression< DateTime> -
Available on Expression<
SubtractsDateTime> , provided by the DateTimeExpressions extensiondurationfrom this date. -
operator /(
Expression< BigInt> other) → Expression<BigInt> -
Available on Expression<
Performs a division (BigInt> , provided by the ArithmeticBigIntExpr extensionthis/other) in sql. -
operator /(
Expression< DT> other) → Expression<DT> -
Available on Expression<
Performs a division (DT> , provided by the ArithmeticExpr extensionthis/other) in sql. -
operator ==(
Object other) → bool -
The equality operator.
override
-
operator unary-(
) → Expression< BigInt> -
Available on Expression<
Returns the negation of this value.BigInt> , provided by the ArithmeticBigIntExpr extension -
operator unary-(
) → Expression< DT> -
Available on Expression<
Returns the negation of this value.DT> , provided by the ArithmeticExpr extension -
operator |(
Expression< bool> other) → Expression<bool> -
Available on Expression<
Returns an expression that is true ifbool> , provided by the BooleanExpressionOperators extensionthisorotherare true. -
operator ~(
) → Expression< BigInt> -
Available on Expression<
Flips all bits in this value (turningBigInt> , provided by the BitwiseBigInt extension0to1and vice-versa) and returns the result. -
operator ~(
) → Expression< int> -
Available on Expression<
Flips all bits in this value (turningint> , provided by the BitwiseInt extension0to1and vice-versa) and returns the result.
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
defaultConstraintssimpler. Used when the constraint does not depend on the dialect. -
constraintsDependsOnDialect(
Map< SqlDialect, String> constraints) → void Function(GenerationContext) -
A helper method to make creating
defaultConstraintssimpler. Used when the constraint depends on the dialect.