[][src]Crate declarative_dataflow

Declarative dataflow infrastructure

This crate contains types, traits, and logic for assembling differential dataflow computations from declaratively specified programs, without any additional compilation.

Re-exports

pub use binding::AsBinding;
pub use binding::AttributeBinding;
pub use binding::Binding;
pub use plan::Hector;
pub use plan::ImplContext;
pub use plan::Implementable;
pub use plan::Plan;

Modules

binding

Binding language, mainly for use in Hector-powered plans.

domain

Logic for working with attributes under a shared timestamp semantics.

plan

Types and traits for implementing query plans.

server

Server logic for driving the library via commands.

sinks

Types and operators to feed outputs into external systems.

sources

Types and operators to work with external data sources.

timestamp

Various timestamp implementations.

Structs

AttributeConfig

Per-attribute semantics.

CollectionIndex

Various indices over a collection of (K, V) pairs, required to participate in delta-join pipelines.

CollectionRelation

A collection and variable bindings.

Datom

An entity, attribute, value triple.

Error

A client-facing, non-exceptional error.

LiveIndex

CollectionIndex that was imported into a scope.

RelationConfig

Per-relation semantics.

Rule

A named relation.

ShutdownHandle

A wrapper around a vector of ShutdownButton's. Ensures they will be pressed on dropping the handle.

TxData

Transaction data. Conceptually a pair (Datom, diff) but it's kept intentionally flat to be more directly compatible with Datomic.

Enums

InputSemantics

Attribute indices can have various operations applied to them, based on their semantics.

Time

Possible timestamp types.

Value

Possible data values.

Functions

collect_dependencies

Returns a deduplicates list of all rules used in the definition of the specified names. Includes the specified names.

implement

Takes a query plan and turns it into a differential dataflow.

implement_neu

@TODO

q

Helper function to create a query plan. The resulting query will provide values for the requested target variables, under the constraints expressed by the bindings provided.

Type Definitions

Aid

A unique attribute identifier.

Eid

A unique entity identifier.

Rational32

Alias for a Ratio of 32-bit-sized integers.

RelationHandle

A handle to an arranged relation.

ResultDiff

A (tuple, time, diff) triple, as sent back to clients.

TraceKeyHandle

A trace of values indexed by self.

TraceValHandle

A trace of (K, V) pairs indexed by key.