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;
13pub mod debug_output;
14mod delete;
15pub mod dml_cost;
16mod domain_ddl;
17mod drop_table;
18pub mod errors;
19pub mod evaluator;
20pub mod expression_index_maintenance;
21mod explain;
22mod grant;
23pub mod index_ddl;
24pub mod information_schema;
25mod insert;
26mod introspection;
27pub mod limits;
28pub mod memory;
29mod optimizer;
30pub mod persistence;
31pub mod pipeline;
32mod privilege_checker;
33pub mod procedural;
34pub mod profiling;
35mod revoke;
36mod role_ddl;
37pub mod schema;
38mod schema_ddl;
39pub mod select;
40mod select_into;
41pub mod session;
42pub mod sqlite_schema;
43pub mod sqlite_stat;
44pub mod timeout;
45mod transaction;
46mod trigger_ddl;
47mod trigger_execution;
48pub mod truncate;
49mod truncate_table;
50mod truncate_validation;
51mod type_ddl;
52mod update;
53mod view_ddl;
54
55pub mod readonly;
56
57// SIMD-accelerated operations for columnar execution
58#[cfg(feature = "simd")]
59pub mod simd;
60
61pub use alter::AlterTableExecutor;
62pub use cache::{
63    CacheManager, CacheStats, CachedQueryContext, PreparedStatement, PreparedStatementCache,
64    PreparedStatementCacheStats, PreparedStatementError, QueryPlanCache, QuerySignature,
65};
66pub use constraint_validator::ConstraintValidator;
67pub use create_table::CreateTableExecutor;
68pub use cursor::{Cursor, CursorExecutor, CursorResult, CursorStore, FetchResult};
69pub use delete::DeleteExecutor;
70pub use dml_cost::DmlOptimizer;
71pub use domain_ddl::DomainExecutor;
72pub use drop_table::DropTableExecutor;
73pub use errors::ExecutorError;
74pub use evaluator::{clear_in_subquery_cache, ExpressionEvaluator};
75pub use explain::{ExplainExecutor, ExplainResult, PlanNode, SqliteVmOutput, VmInstruction};
76pub use grant::GrantExecutor;
77pub use index_ddl::{
78    AnalyzeExecutor, CreateIndexExecutor, DropIndexExecutor, IndexExecutor, ReindexExecutor,
79};
80pub use insert::InsertExecutor;
81pub use introspection::IntrospectionExecutor;
82pub use memory::QueryArena;
83pub use persistence::load_sql_dump;
84pub use pipeline::{
85    ColumnarPipeline, ExecutionContext, ExecutionPipeline, NativeColumnarPipeline, PipelineInput,
86    PipelineOutput, RowOrientedPipeline,
87};
88pub use privilege_checker::PrivilegeChecker;
89// Read-only query support for concurrent access
90pub use readonly::{ReadOnlyError, ReadOnlyQuery, SharedDatabase};
91pub use revoke::RevokeExecutor;
92pub use role_ddl::RoleExecutor;
93pub use schema_ddl::SchemaExecutor;
94pub use select::{SelectExecutor, SelectResult};
95pub use select_into::SelectIntoExecutor;
96pub use session::{PreparedExecutionResult, Session, SessionError, SessionMut};
97pub use timeout::TimeoutContext;
98pub use transaction::{
99    BeginTransactionExecutor, CommitExecutor, ReleaseSavepointExecutor, RollbackExecutor,
100    RollbackToSavepointExecutor, SavepointExecutor,
101};
102pub use trigger_ddl::TriggerExecutor;
103pub use trigger_execution::TriggerFirer;
104pub use truncate_table::TruncateTableExecutor;
105pub use type_ddl::TypeExecutor;
106pub use update::UpdateExecutor;
107pub use view_ddl::ViewExecutor;
108
109#[cfg(test)]
110mod tests;