use vibesql_ast::*;
use vibesql_storage::Database;
use crate::errors::ExecutorError;
pub fn execute_create_sequence(
stmt: &CreateSequenceStmt,
db: &mut Database,
) -> Result<(), ExecutorError> {
db.catalog.create_sequence(
stmt.sequence_name.clone(),
stmt.start_with,
stmt.increment_by,
stmt.min_value,
stmt.max_value,
stmt.cycle,
)?;
Ok(())
}
pub fn execute_drop_sequence(
stmt: &DropSequenceStmt,
db: &mut Database,
) -> Result<(), ExecutorError> {
db.catalog.drop_sequence(&stmt.sequence_name, stmt.cascade)?;
Ok(())
}
pub fn execute_alter_sequence(
stmt: &AlterSequenceStmt,
db: &mut Database,
) -> Result<(), ExecutorError> {
db.catalog.alter_sequence(
&stmt.sequence_name,
stmt.restart_with,
stmt.increment_by,
stmt.min_value,
stmt.max_value,
stmt.cycle,
)?;
Ok(())
}