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
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