vibesql_executor/advanced_objects/
character_sets.rs

1//! Executor for CHARACTER SET objects (SQL:1999)
2
3use vibesql_ast::*;
4use vibesql_storage::Database;
5
6use crate::errors::ExecutorError;
7
8/// Execute CREATE CHARACTER SET statement
9pub fn execute_create_character_set(
10    stmt: &CreateCharacterSetStmt,
11    db: &mut Database,
12) -> Result<(), ExecutorError> {
13    db.catalog.create_character_set(
14        stmt.charset_name.clone(),
15        stmt.source.clone(),
16        stmt.collation.clone(),
17    )?;
18    Ok(())
19}
20
21/// Execute DROP CHARACTER SET statement
22pub fn execute_drop_character_set(
23    stmt: &DropCharacterSetStmt,
24    db: &mut Database,
25) -> Result<(), ExecutorError> {
26    db.catalog.drop_character_set(&stmt.charset_name)?;
27    Ok(())
28}