1#![deny(missing_docs)]
31#![warn(clippy::all, clippy::pedantic)]
32#![allow(clippy::module_name_repetitions)]
33#![allow(clippy::doc_markdown)]
34#![allow(clippy::uninlined_format_args)]
35
36pub mod datafusion;
37pub mod parser;
38pub mod planner;
39pub mod translator;
40
41pub use parser::{parse_streaming_sql, StreamingStatement};
43pub use planner::StreamingPlanner;
44pub use translator::{OrderOperatorConfig, WindowOperatorConfig, WindowType};
45
46pub use datafusion::execute::execute_streaming_sql;
48pub use datafusion::{
49 register_streaming_functions, register_streaming_functions_with_watermark, DdlResult,
50 QueryResult, StreamingSqlResult,
51};
52
53pub type Result<T> = std::result::Result<T, Error>;
55
56#[derive(Debug, thiserror::Error)]
58pub enum Error {
59 #[error("SQL parse error: {0}")]
61 ParseError(#[from] parser::ParseError),
62
63 #[error("Planning error: {0}")]
65 PlanningError(#[from] planner::PlanningError),
66
67 #[error("DataFusion error: {0}")]
69 DataFusionError(#[from] datafusion_common::DataFusionError),
70
71 #[error("Unsupported feature: {0}")]
73 UnsupportedFeature(String),
74}