Crate mz_adapter
source ·Expand description
Coordinates client requests with the dataflow layer.
This crate hosts the “coordinator”, an object which sits at the center of the system and coordinates communication between the various components. Responsibilities of the coordinator include:
- Launching the dataflow workers.
- Periodically allowing the dataflow workers to compact existing data.
- Executing SQL queries from clients by parsing and planning them, sending the plans to the dataflow layer, and then streaming the results back to the client.
- Assigning timestamps to incoming source data.
The main interface to the coordinator is Client
. To start a coordinator,
use the serve
function.
Re-exports
pub use crate::client::Client;
pub use crate::client::Handle;
pub use crate::client::SessionClient;
pub use crate::webhook::AppendWebhookError;
pub use crate::webhook::AppendWebhookResponse;
pub use crate::webhook::AppendWebhookValidator;
Modules
- Persistent metadata storage for the coordinator.
- command 🔒
- coord 🔒Translation of SQL commands into timestamped
Controller
commands. - error 🔒
- explain 🔒
EXPLAIN
support for various intermediate representations. - notice 🔒
- optimize 🔒Optimizer interface to the adapter and coordinator code.
- Per-connection configuration parameters and state.
- Implementations around supporting the SUBSCRIBE protocol with the dataflow layer
- Telemetry utilities.
- util 🔒
Macros
- Enforces critical section invariants for functions that perform writes to tables, e.g.
INSERT
,UPDATE
.
Structs
- A bundle of storage and compute collection identifiers.
- Configures a coordinator.
- Bundle of state related to statement execution.
- State that the coordinator must process as part of retiring command execution.
ExecuteContextExtra::Default
is guaranteed to produce a value that will cause the coordinator to do nothing, and is intended for use by code that invokes the execution processing flow (i.e.,sequence_plan
) without actually being a statement execution. - The response to
Client::startup
. - Information used when determining the timestamp for a query.
Enums
- Errors that can occur in the coordinator.
- Notices that can occur in the adapter layer.
- The state of a cancellation request.
- The response to
SessionClient::execute
. - The response from a
Peek
, with row multiplicities represented in unary. - An enum describing the timeline context of a query.
- The timeline and timestamp context of a read.
Traits
Functions
- Serves the coordinator based on the provided configuration.