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.
no setter
boundVariables List
The values of introducedVariables that will be sent to the underlying engine.
no setter
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.
no setter
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.
getter/setter pair
generatingForView String?
When set to an entity name (view or table), generated column in that entity definition will written into query as expression
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
hasMultipleTables bool
Whether the query obtained by this context operates on multiple tables.
getter/setter pair
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.
no setterinherited
sql String
Gets the generated sql statement
no setter
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
variableIndices Iterable<int>
The variable indices occupied by this generation context.
no setter
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, or backticks depending on the dialect.
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