VirtualColumn class base
A description used within a Scheme to define a generated virtual column.
A virtual column is added to the mapping table and is useful for
extracting the result of an sql expression that operates on other columns.
For example, an expression may return a particular data element from a JSON
value stored in the value column. An expression is evaluated only for rows
whose kinds are included in the kinds property; rows of other kinds will
have NULL as the value of the virtual column.
In the following fragment, a virtual column named "numFlatware" calculates
the total number of forks and spoons for rows of the "Kitchen" kind using
SqlJX in the expression:
var vc = VirtualColumn(
version: 1,
name: "numFlatware",
kinds: ["Kitchen"],
sql: SqlJX("\$[1].numForks") + SqlJX("\$[1].numSpoons"),
);
/* ... */
See also: PartialIndex.
- Inheritance
-
- Object
- SchemeElement
- VirtualColumn
- Annotations
-
- @immutable
Constructors
- VirtualColumn({required int version, required String name, required KindList kinds, required Sql sql})
- Creates a description of a virtual column using the given parameters.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- kinds → KindList
-
The kinds of rows to which the evaluation of the column value is limited.
final
- name → String
-
A string representing the name of the provided description.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sql → Sql
-
The expression whose result forms the value of the virtual column.
final
- version → int
-
An integer representing the version of the provided description.
finalinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited