Crate declarative_dataflow

Source
Expand description

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;
pub use timestamp::Rewind;
pub use timestamp::Time;

Modules§

binding
Binding language, mainly for use in Hector-powered plans.
domain
Logic for working with attributes under a shared timestamp semantics.
logging
Loggers and logging events for declarative dataflow.
operators
Extension traits for Stream implementing various declarative-specific operators.
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.
CollectionRelation
A collection and variable bindings.
Error
A client-facing, non-exceptional error.
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.

Enums§

Implemented
@TODO
IndexDirection
Attributes can be indexed in two ways, once from eid to value and the other way around. More powerful query capabilities may rely on both directions being available, whereas simple queries, such as star-joins and pull queries, might get by with just a forward index.
InputSemantics
Attribute indices can have various operations applied to them, based on their semantics.
Output
Anything that can be returned to clients.
QuerySupport
Attributes might only appear in certain classes of queries. If that is the case, indexing overhead can be reduced.
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 Aliases§

Aid
A unique attribute identifier.
Client
A worker-local client connection 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.