vibesql_executor/insert/
mod.rs1mod bulk_transfer;
2mod constraints;
3pub mod defaults;
4mod duplicate_key_update;
5mod execution;
6mod foreign_keys;
7mod replace;
8mod row_validator;
9mod validation;
10
11use crate::errors::ExecutorError;
12
13pub struct InsertExecutor;
15
16impl InsertExecutor {
17 pub fn execute(
20 db: &mut vibesql_storage::Database,
21 stmt: &vibesql_ast::InsertStmt,
22 ) -> Result<usize, ExecutorError> {
23 execution::execute_insert(db, stmt)
24 }
25
26 pub fn execute_with_procedural_context(
30 db: &mut vibesql_storage::Database,
31 stmt: &vibesql_ast::InsertStmt,
32 procedural_context: &crate::procedural::ExecutionContext,
33 ) -> Result<usize, ExecutorError> {
34 execution::execute_insert_with_procedural_context(db, stmt, procedural_context)
35 }
36}
37
38pub fn execute_insert_with_trigger_context(
42 db: &mut vibesql_storage::Database,
43 stmt: &vibesql_ast::InsertStmt,
44 trigger_context: &crate::trigger_execution::TriggerContext,
45) -> Result<usize, ExecutorError> {
46 execution::execute_insert_with_trigger_context(db, stmt, trigger_context)
47}