Expand description
SQL Executor module for Alopex SQL.
This module provides the execution engine for SQL statements.
§Overview
The Executor takes a LogicalPlan from the Planner and executes it
against the storage layer. It supports DDL, DML, and Query operations.
Query execution currently materializes intermediate results per stage; future versions may add streaming pipelines as requirements grow.
§Components
Executor: Main executor structExecutorError: Error types for executionExecutionResult: Execution result types
§Example
ⓘ
use std::sync::{Arc, RwLock};
use alopex_core::kv::memory::MemoryKV;
use alopex_sql::executor::Executor;
use alopex_sql::catalog::MemoryCatalog;
use alopex_sql::planner::LogicalPlan;
// Create storage and catalog
let store = Arc::new(MemoryKV::new());
let catalog = Arc::new(RwLock::new(MemoryCatalog::new()));
// Create executor
let mut executor = Executor::new(store, catalog);
// Execute a plan
let result = executor.execute(plan)?;Re-exports§
pub use query::RowIterator;pub use query::ScanIterator;pub use query::build_streaming_pipeline;
Modules§
Structs§
- Column
Info - Column information for query results.
- Executor
- SQL statement executor.
- Query
Result - Result of a SELECT query.
- Query
RowIterator - Streaming query result that yields rows one at a time.
- Row
- Internal row representation with row_id for DML operations.
Enums§
- Constraint
Violation - Constraint violation details.
- Evaluation
Error - Expression evaluation errors.
- Execution
Result - Result of executing a SQL statement.
- Executor
Error - Errors that can occur during SQL execution.
Type Aliases§
- Result
- Type alias for executor results.