GenerationContext class

Contains information about a query while it's being constructed.

Constructors

GenerationContext(DriftDatabaseOptions options, DatabaseConnectionUser? executor, {bool supportsVariables = true})
Constructs a custom GenerationContext by setting the fields manually. See GenerationContext.fromDb for a more convenient factory.
GenerationContext.fromDb(DatabaseConnectionUser executor, {bool supportsVariables = true})
Constructs a GenerationContext by copying the relevant fields from the database.

Properties

amountOfVariables int
Returns the amount of variables that have been introduced when writing this query.
read-only
boundVariables List
The values of introducedVariables that will be sent to the underlying engine.
read-only
buffer StringBuffer
The string buffer contains the sql query as it's being constructed.
final
dialect SqlDialect
The SqlDialect that should be respected when generating the query.
read-only
executor DatabaseConnectionUser?
The actual DatabaseConnectionUser that's going to execute the generated query.
final
explicitVariableIndex int?
When set to a non-null value, Variables in this context will generate explicit indices starting at explicitVariableIndex.
read / write
generatingForView String?
When set to an entity name (view or table), generated column in that entity definition will written into query as expression
read / write
hashCode int
The hash code for this object.
read-onlyinherited
hasMultipleTables bool
Whether the query obtained by this context operates on multiple tables.
read / write
introducedVariables List<Variable<Object>>
All variables ("?" in sql) that were added to this context.
final
options DriftDatabaseOptions
The options to use when mapping values from and to the database.
final
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited
sql String
Gets the generated sql statement
read-only
supportsVariables bool
Whether variables are supported and can be written as ? to be bound later.
final
typeMapping SqlTypes
The SqlTypes configuration used for mapping values to the database.
final
watchedTables List<ResultSetImplementation>
All tables that the generated query reads from.
final

Methods

identifier(String columnName) String
Turns columnName into a safe SQL identifier by wrapping it in double quotes.
introduceVariable(Variable<Object> v, dynamic value) → void
Introduces a variable that will be sent to the database engine. Whenever this method is called, a question mark should be added to the buffer so that the prepared statement can be executed with the variable. The value must be a type that is supported by the sqflite library. A list of supported types can be found here.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
writeWhitespace() → void
Shortcut to add a single space to the buffer because it's used very often.

Operators

operator ==(Object other) bool
The equality operator.
inherited