[][src]Trait declarative_dataflow::plan::Implementable

pub trait Implementable {
    fn dependencies(&self) -> Dependencies;
fn implement<'b, T, I, S>(
        &self,
        nested: &mut Iterative<'b, S, u64>,
        local_arrangements: &HashMap<String, Variable<Iterative<'b, S, u64>, Vec<Value>, isize>>,
        context: &mut I
    ) -> (CollectionRelation<'b, S>, ShutdownHandle)
    where
        T: Timestamp + Lattice + TotalOrder,
        I: ImplContext<T>,
        S: Scope<Timestamp = T>
; fn into_bindings(&self) -> Vec<Binding> { ... }
fn datafy(&self) -> Vec<(Eid, Aid, Value)> { ... } }

A type that can be implemented as a simple relation.

Required methods

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.

fn implement<'b, T, I, S>(
    &self,
    nested: &mut Iterative<'b, S, u64>,
    local_arrangements: &HashMap<String, Variable<Iterative<'b, S, u64>, Vec<Value>, isize>>,
    context: &mut I
) -> (CollectionRelation<'b, S>, ShutdownHandle) where
    T: Timestamp + Lattice + TotalOrder,
    I: ImplContext<T>,
    S: Scope<Timestamp = T>, 

Implements the type as a simple relation.

Loading content...

Provided methods

fn into_bindings(&self) -> Vec<Binding>

Transforms an implementable into an equivalent set of bindings that can be unified by Hector.

fn datafy(&self) -> Vec<(Eid, Aid, Value)>

@TODO

Loading content...

Implementors

impl Implementable for Plan[src]

impl Implementable for Hector[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P1: Implementable, P2: Implementable> Implementable for Antijoin<P1, P2>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P1: Implementable, P2: Implementable> Implementable for Join<P1, P2>[src]

impl<P: Implementable> Implementable for Aggregate<P>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P: Implementable> Implementable for Filter<P>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P: Implementable> Implementable for Project<P>[src]

impl<P: Implementable> Implementable for Pull<P>[src]

fn into_bindings(&self) -> Vec<Binding>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P: Implementable> Implementable for PullLevel<P>[src]

fn into_bindings(&self) -> Vec<Binding>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P: Implementable> Implementable for Transform<P>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

impl<P: Implementable> Implementable for Union<P>[src]

fn datafy(&self) -> Vec<(Eid, Aid, Value)>[src]

Loading content...