vibesql_executor/advanced_objects/
sequences.rs1use vibesql_ast::*;
4use vibesql_storage::Database;
5
6use crate::errors::ExecutorError;
7
8pub fn execute_create_sequence(
10 stmt: &CreateSequenceStmt,
11 db: &mut Database,
12) -> Result<(), ExecutorError> {
13 db.catalog.create_sequence(
14 stmt.sequence_name.clone(),
15 stmt.start_with,
16 stmt.increment_by,
17 stmt.min_value,
18 stmt.max_value,
19 stmt.cycle,
20 )?;
21 Ok(())
22}
23
24pub fn execute_drop_sequence(
26 stmt: &DropSequenceStmt,
27 db: &mut Database,
28) -> Result<(), ExecutorError> {
29 db.catalog.drop_sequence(&stmt.sequence_name, stmt.cascade)?;
31 Ok(())
32}
33
34pub fn execute_alter_sequence(
36 stmt: &AlterSequenceStmt,
37 db: &mut Database,
38) -> Result<(), ExecutorError> {
39 db.catalog.alter_sequence(
40 &stmt.sequence_name,
41 stmt.restart_with,
42 stmt.increment_by,
43 stmt.min_value,
44 stmt.max_value,
45 stmt.cycle,
46 )?;
47 Ok(())
48}