pub struct Setting {
pub name: StrRef,
pub scope: Scope,
pub value: ExprRef,
pub pragma: bool,
}Expand description
SET name = value and RESET name.
One struct for the two, because RESET name is SET name with no value and giving it its own
arena would mean two of everything to say the same thing twice.
Fields§
§name: StrRefThe setting name, as written.
scope: ScopeThe scope word, if one was written.
value: ExprRefThe value, or NONE for a RESET.
An expression rather than text. SET memory_limit = '1GB' writes a string and SET threads = 4 writes a number, and what a setting does with either is the setting’s business.
pragma: boolWhether the statement was written as a bare PRAGMA name.
PRAGMA disable_optimizer is a SET with the name and the value both folded into one word,
and which word means what is the catalog’s business rather than the parser’s, so it arrives
here as a name with no value and this flag to say that no value is not a RESET.