Struct mentat_query_algebrizer::AlgebraicQuery [] [src]

pub struct AlgebraicQuery {
    pub find_spec: Rc<FindSpec>,
    pub with: BTreeSet<Variable>,
    pub named_projection: BTreeSet<Variable>,
    pub order: Option<Vec<OrderBy>>,
    pub limit: Limit,
    pub cc: ConjoiningClauses,
    // some fields omitted
}

Fields

The set of variables that the caller wishes to be used for grouping when aggregating. These are specified in the query input, as :with, and are then chewed up during projection. If no variables are supplied, then no additional grouping is necessary beyond the non-aggregated projection list.

Some query features, such as ordering, are implemented by implicit reference to SQL columns. In order for these references to be 'live', those columns must be projected. This is the set of variables that must be so projected. This is not necessarily every variable that will be so required -- some variables will already be in the projection list.

Methods

impl AlgebraicQuery
[src]

Return true if every variable in the find spec is fully bound to a single value.

Return true if every variable in the find spec is fully bound to a single value, and evaluating the query doesn't require running SQL.

Return a set of the input variables mentioned in the :in clause that have not yet been bound. We do this by looking at the CC.

Trait Implementations

impl Debug for AlgebraicQuery
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !Send for AlgebraicQuery

impl !Sync for AlgebraicQuery