Struct sql::query_model::model::graph::QueryBox[][src]

pub(crate) struct QueryBox {
    pub id: BoxId,
    pub box_type: BoxType,
    pub columns: Vec<Column>,
    pub quantifiers: BTreeSet<QuantifierId>,
    pub ranging_quantifiers: BTreeSet<QuantifierId>,
    pub distinct: DistinctOperation,
    pub attributes: Attributes,
}
Expand description

A semantic operator within a Query Graph.

Fields

id: BoxId

uniquely identifies the box within the model

box_type: BoxType

the type of the box

columns: Vec<Column>

the projection of the box

quantifiers: BTreeSet<QuantifierId>

the input quantifiers of the box

ranging_quantifiers: BTreeSet<QuantifierId>

quantifiers ranging over this box

distinct: DistinctOperation

whether this box must enforce the uniqueness of its output, it is guaranteed by structure of the box or it must preserve duplicated rows from its input boxes. See DistinctOperation.

attributes: Attributes

Derived attributes

Implementations

Append the given expression as a new column without an explicit alias in the projection of the box.

Append the given expression as a new column in the projection of the box if there isn’t already a column with the same expression. Returns the position of the first column in the projection with the same expression.

Visit all the expressions in this query box.

Mutably visit all the expressions in this query box.

Correlation information of the quantifiers in this box. Returns a map containing, for each quantifier, the column references from sibling quantifiers they are correlated with.

For every expression in this box, update the quantifier ids of every referenced column.

updated_quantifier_ids should be a map of the old QuantifierId to the new one.

Model-dependent methods.

Publicly visible delegates to these methods are defined for BoundRef<'_, QueryBox> and BoundRefMut<'_, QueryBox>.

Resolve the input quantifiers of this box as an iterator of immutable bound references.

Resolve the quantifiers ranging over this box as an iterator of immutable bound references.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more