pub mod aggregation;
pub mod anomaly;
pub mod ast;
pub mod correlation;
pub mod emq_parser;
pub mod error;
pub mod executor;
pub mod explain;
pub mod ffi;
pub mod freshness_query;
pub mod lineage;
pub mod macros;
pub mod optimizer;
pub mod parser;
pub mod pattern;
pub mod planner;
pub mod predict;
pub mod prepared;
pub mod streaming;
pub mod temporal_join;
pub mod timeseries;
pub mod vector_query;
pub use ast::QueryAst;
pub use error::{ParseError, QueryError};
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ResultRow {
pub key: String,
pub value: crate::types::Atom,
pub timestamp: u64,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct QueryMetadata {
pub execution_time_us: u64,
pub rows_scanned: u64,
pub rows_returned: u64,
pub index_used: bool,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct QueryResult {
pub rows: Vec<ResultRow>,
pub metadata: QueryMetadata,
}