Every "table.column" reference actually present across a set of analyzed params, keyed
on AnalyzedParam::source_relation – the parameter counterpart of
crate::overrides::column_references, which does the same job for
AnalyzedColumn::source_relation. A param with no single owning relation (IN list,
LIKE pattern, literal comparison: source_relation: None) contributes nothing, which is
exactly what a qualified column override can never legitimately target either.
Convert a resolved Rust type to its borrowed form for function parameters.
Copy types (primitives) stay as-is; String becomes &str; other non-Copy types get a & prefix.