[−][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 |
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. |