Whether the underlying sql statement of this query operates on more than
one table. In that case, column references in Dart placeholders have to
write their table name (e.g. foo.bar instead of just bar).
The placeholders in this query which are bound and converted to sql at
runtime. For instance, in SELECT * FROM tbl WHERE $expr, the expr is
going to be a FoundDartPlaceholder with the type
ExpressionDartPlaceholderType and ColumnType.boolean. We will
generate a method which has a Expression<bool, BoolType> expr parameter.
The variables that appear in the sql query. We support three kinds of
sql variables: The regular "?" variables, explicitly indexed "?xyz"
variables and colon-named variables. Even though this feature is not
supported by sqlite directly, we provide syntax sugar for expressions like
column IN ?, where the variable will have a List type at runtime and
expand to the appropriate tuple (e.g. column IN (?, ?, ?) when the
variable is bound to a list with three elements). To make the desugaring
easier at runtime, we require that: