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::ConnClient;
pub use crate::client::Handle;
pub use crate::client::SessionClient;

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 🔒
rbac 🔒
Per-connection configuration parameters and state.
subscribe 🔒
Implementations around supporting the SUBSCRIBE protocol with the dataflow layer
Telemetry utilities.
util 🔒

Macros

coord_bail 🔒
Enforces critical section invariants for functions that perform writes to tables, e.g. INSERT, UPDATE.

Structs

Configures a coordinator.
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 from a Peek, with row multiplicities represented in unary.
The timeline and timestamp context of a read.

Constants

A dummy availability zone to use when no availability zones are explicitly specified.

Functions

Serves the coordinator based on the provided configuration.

Type Definitions