Skip to main content

Crate laminar_sql

Crate laminar_sql 

Source
Expand description

§LaminarDB SQL

SQL interface for LaminarDB with streaming extensions.

This crate provides:

  • SQL parsing with streaming extensions (windows, watermarks, EMIT)
  • Query planning and optimization via DataFusion
  • Streaming-aware physical operators
  • SQL-to-operator translation

§Streaming SQL Extensions

-- Tumbling window with EMIT
SELECT
  window_start,
  COUNT(*) as event_count
FROM events
GROUP BY TUMBLE(event_time, INTERVAL '5' MINUTE)
EMIT AFTER WATERMARK;

-- Stream-to-stream join
SELECT *
FROM orders o
JOIN order_items i
  ON o.order_id = i.order_id
  AND i.event_time BETWEEN o.event_time AND o.event_time + INTERVAL '1' HOUR;

Re-exports§

pub use parser::parse_streaming_sql;
pub use parser::StreamingStatement;
pub use planner::StreamingPlanner;
pub use translator::OrderOperatorConfig;
pub use translator::WindowOperatorConfig;
pub use translator::WindowType;
pub use datafusion::execute::execute_streaming_sql;
pub use datafusion::register_streaming_functions;
pub use datafusion::register_streaming_functions_with_watermark;
pub use datafusion::DdlResult;
pub use datafusion::QueryResult;
pub use datafusion::StreamingSqlResult;

Modules§

datafusion
DataFusion integration for SQL processing
error
Error translation layer for DataFusion errors.
parser
SQL parser with streaming extensions.
planner
Query planner for streaming SQL
translator
SQL to operator configuration translation

Enums§

Error
SQL-specific errors

Type Aliases§

Result
Result type for SQL operations