pub struct Aggregate<P: Implementable> {
pub variables: Vec<u32>,
pub plan: Box<P>,
pub aggregation_fns: Vec<AggregationFn>,
pub key_variables: Vec<u32>,
pub aggregation_variables: Vec<u32>,
pub with_variables: Vec<u32>,
}
Expand description
[WIP] A plan stage applying the specified aggregation functions to bindings for the specified variables. Given multiple aggregations we iterate and n-1 joins are applied to the results.
Fields§
§variables: Vec<u32>
TODO
plan: Box<P>
Plan for the data source.
aggregation_fns: Vec<AggregationFn>
Logical predicate to apply.
key_variables: Vec<u32>
Relation variables that determine the grouping.
aggregation_variables: Vec<u32>
Aggregation variables
with_variables: Vec<u32>
With variables
Trait Implementations§
Source§impl<'de, P> Deserialize<'de> for Aggregate<P>where
P: Deserialize<'de> + Implementable,
impl<'de, P> Deserialize<'de> for Aggregate<P>where
P: Deserialize<'de> + Implementable,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<P: Implementable> Implementable for Aggregate<P>
impl<P: Implementable> Implementable for Aggregate<P>
Source§fn dependencies(&self) -> Dependencies
fn dependencies(&self) -> Dependencies
Returns names of any other implementable things that need to
be available before implementing this one. Attributes are not
mentioned explicitley as dependencies.
Source§fn into_bindings(&self) -> Vec<Binding>
fn into_bindings(&self) -> Vec<Binding>
Transforms an implementable into an equivalent set of bindings
that can be unified by Hector.
Source§impl<P: Ord + Implementable> Ord for Aggregate<P>
impl<P: Ord + Implementable> Ord for Aggregate<P>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<P: PartialOrd + Implementable> PartialOrd for Aggregate<P>
impl<P: PartialOrd + Implementable> PartialOrd for Aggregate<P>
impl<P: Eq + Implementable> Eq for Aggregate<P>
impl<P: Implementable> StructuralPartialEq for Aggregate<P>
Auto Trait Implementations§
impl<P> Freeze for Aggregate<P>
impl<P> RefUnwindSafe for Aggregate<P>where
P: RefUnwindSafe,
impl<P> Send for Aggregate<P>where
P: Send,
impl<P> Sync for Aggregate<P>where
P: Sync,
impl<P> Unpin for Aggregate<P>
impl<P> UnwindSafe for Aggregate<P>where
P: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more