reifydb-rql 0.4.12

ReifyDB Query Language (RQL) parser and AST
Documentation
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2025 ReifyDB

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),
		}
	}
}