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.

Returns a vector of ColumnReference if all column expressions projected by this QueryBox of that form.

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

Returns the argument unchanged.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Attaches the current Context to this type, returning a WithContext wrapper. Read more
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

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Wrap the input message T in a tonic::Request
The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
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