pub fn rsql_to_sql(
node: &FilterNode,
entity: &ResolvedEntity,
q: &mut QueryBuf,
col_qualifier: Option<&str>,
filter_includes: &[IncludeSelect<'_>],
schema_override: Option<&str>,
dialect: &dyn Dialect,
registry: Option<&ExtensibleRegistry>,
) -> Result<String, AppError>Expand description
Convert a FilterNode tree into a SQL WHERE fragment (no leading WHERE).
All values are pushed as parameters into q; identifiers come only from
config (never from user input) so SQL injection is structurally impossible.
col_qualifier is an optional table alias prefix, e.g. "main." for aliased queries.
filter_includes supplies the related-entity metadata needed to generate
EXISTS subqueries for dotted-field filters like transport_unit.bay=contains=bay23.