Expand description
SQL Executor
This module provides the SQL query execution engine for Stoolap.
§Architecture
The executor follows a composable result pipeline pattern where each operation wraps an underlying result to transform the data:
Table.Scan()
↓
FilteredResult (WHERE clause with pre-compiled RowFilter)
↓
HashJoinOperator (JOIN operations)
↓
AggregateResult (GROUP BY)
↓
OrderedResult (ORDER BY)
↓
LimitedResult (LIMIT/OFFSET)
↓
User Application§Components
Executor- Main executor orchestrating query executionExprVM- Expression virtual machine for evaluationExecResult- Base result type for DML operations- Various result wrappers for query pipeline
Re-exports§
pub use context::clear_all_thread_local_caches;pub use context::ExecutionContext;pub use context::TimeoutGuard;pub use expression::CompileContext;pub use expression::CompileError;pub use expression::CompiledEvaluator;pub use expression::ExecuteContext;pub use expression::ExprCompiler;pub use expression::ExprVM;pub use expression::Program as ExprProgram;pub use parallel::hash_row_by_keys;pub use parallel::parallel_hash_build;pub use parallel::parallel_hash_join;pub use parallel::parallel_hash_probe;pub use parallel::parallel_order_by;pub use parallel::parallel_order_by_fn;pub use parallel::verify_key_match;pub use parallel::JoinType as ParallelJoinType;pub use parallel::ParallelConfig;pub use parallel::ParallelHashTable;pub use parallel::ParallelJoinResult;pub use parallel::ParallelStats;pub use parallel::SortDirection;pub use parallel::SortSpec;pub use parallel::DEFAULT_PARALLEL_CHUNK_SIZE;pub use parallel::DEFAULT_PARALLEL_FILTER_THRESHOLD;pub use parallel::DEFAULT_PARALLEL_JOIN_THRESHOLD;pub use parallel::DEFAULT_PARALLEL_SORT_THRESHOLD;pub use planner::ColumnStatsCache;pub use planner::QueryPlanner;pub use planner::RuntimeJoinAlgorithm;pub use planner::RuntimeJoinDecision;pub use planner::StatsHealth;pub use query_cache::CacheStats;pub use query_cache::CachedPlanRef;pub use query_cache::CachedQueryPlan;pub use query_cache::QueryCache;pub use query_cache::DEFAULT_CACHE_SIZE;pub use result::ColumnarResult;pub use result::ExecResult;pub use result::ExecutorResult;pub use semantic_cache::CacheLookupResult;pub use semantic_cache::CachedResult;pub use semantic_cache::QueryFingerprint;pub use semantic_cache::SemanticCache;pub use semantic_cache::SemanticCacheStats;pub use semantic_cache::SemanticCacheStatsSnapshot;pub use semantic_cache::SubsumptionResult;pub use semantic_cache::DEFAULT_CACHE_TTL_SECS;pub use semantic_cache::DEFAULT_MAX_CACHED_ROWS;pub use semantic_cache::DEFAULT_SEMANTIC_CACHE_SIZE;pub use hash_table::hash_row_keys;pub use hash_table::verify_key_equality;pub use hash_table::JoinHashTable;pub use join_executor::JoinAnalysis;pub use join_executor::JoinExecutor;pub use join_executor::JoinRequest;pub use join_executor::JoinResult;pub use operator::ColumnInfo;pub use operator::CompositeRow;pub use operator::EmptyOperator;pub use operator::MaterializedOperator;pub use operator::Operator;pub use operator::RowRef;pub use operators::BatchIndexNestedLoopJoinOperator;pub use operators::HashJoinOperator;pub use operators::IndexLookupStrategy;pub use operators::IndexNestedLoopJoinOperator;pub use operators::JoinProjection;pub use operators::JoinSide;pub use operators::JoinType;pub use operators::MergeJoinOperator;pub use operators::NestedLoopJoinOperator;pub use utils::compute_join_projection;pub use utils::extract_join_keys_and_residual;pub use utils::JoinProjectionIndices;
Modules§
- context
- Execution Context
- expression
- hash_
table - Optimized hash table for join operations.
- join_
executor - Modern streaming JOIN executor using Volcano-style operators.
- operator
- Volcano-style operator interface for streaming query execution.
- operators
- Query operators for streaming execution.
- parallel
- Parallel Query Execution
- pattern_
cache - Compiled Pattern Cache for LIKE expressions
- planner
- Query Planner - Integrates statistics and cost-based optimization
- pushdown
- Predicate Pushdown Framework
- query_
cache - Query Cache for parsed SQL statements
- result
- Execution Result Types
- semantic_
cache - Semantic Query Caching with Predicate Subsumption
- statistics
- ANALYZE command executor for statistics collection
- utils
- Shared utility functions for the executor module.
Structs§
- Executor
- SQL Query Executor
Functions§
- clear_
classification_ cache - Clear the classification cache. Call on database drop to release memory.