vibesql_executor/advanced_objects/
translations.rs

1//! Executor for TRANSLATION objects (SQL:1999)
2
3use vibesql_ast::*;
4use vibesql_storage::Database;
5
6use crate::errors::ExecutorError;
7
8/// Execute CREATE TRANSLATION statement
9pub fn execute_create_translation(
10    stmt: &CreateTranslationStmt,
11    db: &mut Database,
12) -> Result<(), ExecutorError> {
13    db.catalog.create_translation(
14        stmt.translation_name.clone(),
15        stmt.source_charset.clone(),
16        stmt.target_charset.clone(),
17        stmt.translation_source.clone(),
18    )?;
19    Ok(())
20}
21
22/// Execute DROP TRANSLATION statement
23pub fn execute_drop_translation(
24    stmt: &DropTranslationStmt,
25    db: &mut Database,
26) -> Result<(), ExecutorError> {
27    db.catalog.drop_translation(&stmt.translation_name)?;
28    Ok(())
29}