pub struct Capabilities {
pub max_sql_len: usize,
pub max_statements: usize,
pub udf: bool,
pub interactive_transactions: bool,
pub int64_as_text: bool,
pub max_compound_select: usize,
pub compound_recursive_cte: bool,
pub name: String,
}Expand description
What a backend can do. The compiler adapts SQL generation to it.
Fields§
§max_sql_len: usizeMaximum length of one SQL statement in bytes (D1: 100 KB).
max_statements: usizeMaximum number of statements in one request.
udf: boolThe oxilite_* user-defined functions (regex, replace, hashes, Unicode case) exist.
interactive_transactions: boolThe backend supports interactive (read-then-write) transactions.
int64_as_text: bool64-bit integers must be returned as TEXT (JavaScript numbers lose precision above 2^53).
max_compound_select: usizeMaximum number of terms in one compound SELECT (UNION ALL chain); D1 allows 5.
compound_recursive_cte: boolA recursive CTE may have a compound recursive term (SQLite 3.34.0, 2020-12-01). A backend whose version cannot be established MUST leave this false: mutual recursion then takes a strategy that does not need it, instead of emitting SQL that would fail.
name: StringName of the backend, for explain().