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
find_spec: Rc<FindSpec>
with: BTreeSet<Variable>
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.
named_projection: BTreeSet<Variable>
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.
order: Option<Vec<OrderBy>>
limit: Limit
cc: ConjoiningClauses
Methods
impl AlgebraicQuery
[src]
impl AlgebraicQuery
pub fn is_known_empty(&self) -> bool
[src]
pub fn is_known_empty(&self) -> bool
pub fn is_fully_bound(&self) -> bool
[src]
pub fn is_fully_bound(&self) -> bool
Return true if every variable in the find spec is fully bound to a single value.
pub fn is_fully_unit_bound(&self) -> bool
[src]
pub fn is_fully_unit_bound(&self) -> bool
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.
pub fn unbound_variables(&self) -> BTreeSet<Variable>
[src]
pub fn unbound_variables(&self) -> BTreeSet<Variable>
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]
impl Debug for AlgebraicQuery
Auto Trait Implementations
impl !Send for AlgebraicQuery
impl !Send for AlgebraicQuery
impl !Sync for AlgebraicQuery
impl !Sync for AlgebraicQuery