pub mod remote_namespace;
pub mod sequence;
pub mod table;
use reifydb_transaction::transaction::Transaction;
use crate::{
Result,
ast::ast::AstAlter,
plan::logical::{AlterPolicyNode, Compiler, LogicalPlan},
};
impl<'bump> Compiler<'bump> {
pub(crate) fn compile_alter(
&self,
ast: AstAlter<'bump>,
tx: &mut Transaction<'_>,
) -> Result<LogicalPlan<'bump>> {
match ast {
AstAlter::Sequence(node) => self.compile_alter_sequence(node),
AstAlter::Policy(node) => Ok(LogicalPlan::AlterPolicy(AlterPolicyNode {
target_type: node.target_type,
name: node.name,
action: node.action,
})),
AstAlter::Table(node) => self.compile_alter_table(node, tx),
AstAlter::RemoteNamespace(node) => self.compile_alter_remote_namespace(node),
}
}
}