vibesql_executor/index_ddl/
mod.rs1pub mod analyze;
13pub mod create_index;
14pub mod drop_index;
15pub mod reindex;
16
17pub use analyze::AnalyzeExecutor;
18pub use create_index::CreateIndexExecutor;
19pub use drop_index::DropIndexExecutor;
20pub use reindex::ReindexExecutor;
21use vibesql_ast::{CreateIndexStmt, DropIndexStmt, ReindexStmt};
22use vibesql_storage::Database;
23
24use crate::errors::ExecutorError;
25
26pub struct IndexExecutor;
31
32impl IndexExecutor {
33 pub fn execute(
35 stmt: &CreateIndexStmt,
36 database: &mut Database,
37 ) -> Result<String, ExecutorError> {
38 CreateIndexExecutor::execute(stmt, database)
39 }
40
41 pub fn execute_drop(
43 stmt: &DropIndexStmt,
44 database: &mut Database,
45 ) -> Result<String, ExecutorError> {
46 DropIndexExecutor::execute(stmt, database)
47 }
48
49 pub fn execute_reindex(
51 stmt: &ReindexStmt,
52 database: &Database,
53 ) -> Result<String, ExecutorError> {
54 ReindexExecutor::execute(stmt, database)
55 }
56}