Skip to main content

Crate laminar_db

Crate laminar_db 

Source
Expand description

Unified database facade for LaminarDB.

Provides a single entry point (LaminarDB) that ties together the SQL parser, query planner, DataFusion context, and streaming API.

§Example

use laminar_db::LaminarDB;

let db = LaminarDB::open()?;

db.execute("CREATE SOURCE trades (
    symbol VARCHAR, price DOUBLE, ts TIMESTAMP,
    WATERMARK FOR ts AS ts - INTERVAL '1' SECOND
)").await?;

let query = db.execute("SELECT symbol, AVG(price)
    FROM trades GROUP BY symbol, TUMBLE(ts, INTERVAL '1' MINUTE)
").await?;

Re-exports§

pub use checkpoint_coordinator::CheckpointConfig;
pub use checkpoint_coordinator::CheckpointCoordinator;
pub use checkpoint_coordinator::CheckpointPhase;
pub use checkpoint_coordinator::CheckpointRequest;
pub use checkpoint_coordinator::CheckpointResult;
pub use checkpoint_coordinator::CheckpointStats;
pub use engine_metrics::EngineMetrics;
pub use profile::Profile;
pub use profile::ProfileError;
pub use recovery_manager::RecoveredState;
pub use recovery_manager::RecoveryManager;

Modules§

api
FFI-friendly API for language bindings.
checkpoint_coordinator
Unified checkpoint coordination. Unified checkpoint coordinator.
engine_metrics
Prometheus metrics for the streaming engine. Prometheus metrics for the streaming engine.
ffi
C FFI layer for LaminarDB.
pipeline
Thread-per-core connector pipeline. Streaming connector pipeline. Each source connector runs as a tokio task pushing batches via crossfire mpsc to the StreamingCoordinator, which drives SQL execution cycles, routes results to sinks, and manages checkpoint barriers. See the streaming_coordinator submodule for the runtime topology.
profile
Deployment profiles. Deployment profiles for LaminarDB.
rebalance
Dynamic vnode rebalance control plane. Dynamic vnode rebalance control plane. See docs/plans/cluster-production-readiness.md.
recovery_manager
Unified recovery manager. Unified recovery manager.

Structs§

ArrowRecord
Record type for Arrow-based streaming subscriptions.
ConnectorRegistry
Re-export the connector registry for custom connector registration. Registry of available connector implementations. Connectors register a factory per type string; the runtime looks up by the connector property in CREATE SOURCE/SINK DDL.
DdlInfo
Information about a completed DDL statement.
LaminarConfig
Configuration for a LaminarDB instance.
LaminarDB
The main LaminarDB database handle.
LaminarDbBuilder
Fluent builder for constructing a LaminarDB instance.
PipelineEdge
A directed edge in the pipeline topology graph.
PipelineMetrics
Pipeline-wide metrics snapshot.
PipelineNode
A node in the pipeline topology graph.
PipelineTopology
The complete pipeline topology: nodes and edges.
QueryHandle
Handle to a running streaming query.
QueryInfo
Information about a running query.
SinkInfo
Information about a registered sink.
SourceCatalog
Central registry of sources, sinks, streams, and queries.
SourceEntry
A registered source in the catalog.
SourceHandle
Typed handle for pushing data into a registered source.
SourceInfo
Information about a registered source.
SourceMetrics
Metrics for a single registered source.
StreamInfo
Metadata about a registered stream.
StreamMetrics
Metrics for a single registered stream.
TieringConfig
S3 storage class tiering for checkpoint cost optimization.
TypedSubscription
Typed subscription that deserializes RecordBatch rows.
UntypedSourceHandle
Untyped handle for pushing raw RecordBatch data.

Enums§

BackpressurePolicy
What to do when an operator’s input buffer exceeds its cap.
DbError
Errors from database operations.
ExecuteResult
Result of executing a SQL statement.
IdentifierCaseSensitivity
How unquoted SQL identifiers are matched against Arrow schema field names.
PipelineNodeType
Type of a node in the pipeline topology.
PipelineState
The state of a streaming pipeline.

Traits§

FromBatch
Deserialize rows from a RecordBatch. Auto-generated by #[derive(FromRecordBatch)].