Skip to main content

Module executor

Module executor 

Source
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

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

bulk
COPY / Bulk Load 実装。
evaluator
Expression evaluator for typed expressions.
memory
query

Structs§

ColumnInfo
Column information for query results.
Executor
SQL statement executor.
MemoryPolicy
Memory accounting policy used by streaming SQL operators.
QueryResult
Result of a SELECT query.
QueryRowIterator
Streaming query result that yields rows one at a time.
Row
Internal row representation with row_id for DML operations.

Enums§

ConstraintViolation
Constraint violation details.
EvaluationError
Expression evaluation errors.
ExecutionResult
Result of executing a SQL statement.
ExecutorError
Errors that can occur during SQL execution.
SpillPolicy
Policy for handling memory-limit crossings.

Functions§

is_store_direct_plan
Returns whether a plan requires direct access to the backing KV store.

Type Aliases§

Result
Type alias for executor results.