vibesql_executor/
lib.rs

1//! Executor - SQL Query Execution Engine
2//!
3//! This crate provides query execution functionality for SQL statements.
4
5pub mod advanced_objects;
6mod alter;
7pub mod arena;
8pub mod cache;
9mod constraint_validator;
10pub mod correlation;
11mod create_table;
12pub mod cursor;
13mod delete;
14mod domain_ddl;
15mod drop_table;
16pub mod truncate;
17mod truncate_table;
18mod truncate_validation;
19pub mod errors;
20pub mod evaluator;
21mod explain;
22mod grant;
23pub mod index_ddl;
24mod insert;
25mod introspection;
26pub mod limits;
27pub mod memory;
28mod optimizer;
29pub mod persistence;
30pub mod pipeline;
31mod privilege_checker;
32pub mod procedural;
33pub mod profiling;
34mod revoke;
35mod role_ddl;
36pub mod schema;
37mod schema_ddl;
38pub mod select;
39pub mod session;
40mod select_into;
41pub mod timeout;
42mod transaction;
43mod trigger_ddl;
44mod trigger_execution;
45mod type_ddl;
46mod update;
47mod view_ddl;
48
49// SIMD-accelerated operations for columnar execution
50#[cfg(feature = "simd")]
51pub mod simd;
52
53pub use alter::AlterTableExecutor;
54pub use cache::{
55    CacheManager, CacheStats, CachedQueryContext, PreparedStatement, PreparedStatementCache,
56    PreparedStatementCacheStats, PreparedStatementError, QueryPlanCache, QuerySignature,
57};
58pub use constraint_validator::ConstraintValidator;
59pub use create_table::CreateTableExecutor;
60pub use cursor::{Cursor, CursorExecutor, CursorResult, CursorStore, FetchResult};
61pub use delete::DeleteExecutor;
62pub use domain_ddl::DomainExecutor;
63pub use drop_table::DropTableExecutor;
64pub use truncate_table::TruncateTableExecutor;
65pub use errors::ExecutorError;
66pub use evaluator::ExpressionEvaluator;
67pub use evaluator::clear_in_subquery_cache;
68pub use explain::{ExplainExecutor, ExplainResult, PlanNode};
69pub use grant::GrantExecutor;
70pub use index_ddl::{
71    AnalyzeExecutor, CreateIndexExecutor, DropIndexExecutor, IndexExecutor, ReindexExecutor,
72};
73pub use insert::InsertExecutor;
74pub use introspection::IntrospectionExecutor;
75pub use memory::QueryArena;
76pub use persistence::load_sql_dump;
77pub use pipeline::{
78    ColumnarPipeline, ExecutionContext, ExecutionPipeline, NativeColumnarPipeline, PipelineInput,
79    PipelineOutput, RowOrientedPipeline,
80};
81pub use privilege_checker::PrivilegeChecker;
82pub use revoke::RevokeExecutor;
83pub use trigger_execution::TriggerFirer;
84pub use role_ddl::RoleExecutor;
85pub use schema_ddl::SchemaExecutor;
86pub use select::{SelectExecutor, SelectResult};
87pub use select_into::SelectIntoExecutor;
88pub use transaction::{
89    BeginTransactionExecutor, CommitExecutor, ReleaseSavepointExecutor, RollbackExecutor,
90    RollbackToSavepointExecutor, SavepointExecutor,
91};
92pub use trigger_ddl::TriggerExecutor;
93pub use type_ddl::TypeExecutor;
94pub use update::UpdateExecutor;
95pub use view_ddl::ViewExecutor;
96pub use timeout::TimeoutContext;
97pub use session::{PreparedExecutionResult, Session, SessionError, SessionMut};
98
99#[cfg(test)]
100mod tests;