Skip to main content

compound_collation

Function compound_collation 

Source
pub fn compound_collation<'a>(
    exprs: impl IntoIterator<Item = &'a BoundExpr>,
) -> Collation
Expand description

Returns the collation of a compound’s result column, one expression per arm.

SQLite’s multiSelectCollSeq: the leftmost arm whose expression has a collation of its own decides, and an arm whose expression has none (a literal, an arithmetic result) passes the question to the next arm on the right. A plain column always has one, BINARY at least, so it ends the search. Measured against 3.53.4: SELECT 'A' UNION SELECT 'a' COLLATE NOCASE is one row, and SELECT 'A' COLLATE NOCASE UNION SELECT 'a' is one row too.

@param exprs - the column’s expression in each arm, leftmost first