Skip to main content

Module executor

Module executor 

Source
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 execution
  • ExprVM - Expression virtual machine for evaluation
  • ExecResult - 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.