pub enum CaseRule {
Upper,
Lower,
Insensitive,
Sensitive,
}Expand description
How one identifier class folds before an equality comparison — the
per-class element of an IdentifierCasing.
The four cases the cross-dialect matrix reduces to once
instance-specific models (filesystem-dependent, collation-dependent)
are resolved to a concrete choice. Which dialect gets which rule lives
in IdentifierCasing::for_dialect; this enum describes only the
folding each rule performs.
Variants§
Upper
Unquoted → upper-case; quoted → preserved (exact).
Lower
Unquoted → lower-case; quoted → preserved (exact).
Insensitive
Quoting ignored; comparison case-insensitive.
Sensitive
Quoting ignored; comparison case-sensitive (exact).
Used both by definitively case-sensitive engines and as the safe
fallback for filesystem-dependent real table names, where
over-matching (a false merge of two distinct stored tables) is a
data-correctness risk. Statement-local aliases don’t take this
fallback — they default lenient (see
IdentifierCasing::table_alias).