Skip to main content

sql_fun_sqlast/sem/parse_context/
seq_info.rs

1use crate::sem::{AlterSequence, AnalysisError, CreateSequence, FullName};
2
3/// get sequence definition
4pub trait SequenceInfoRead {
5    /// get `CREATE SEQUENCE` statement by full name
6    fn get_sequence_impl(&self, key: &FullName) -> Option<&CreateSequence>;
7}
8
9/// store and update sequence info
10pub trait SequenceInfoWrite
11where
12    Self: Sized,
13{
14    /// apply `alter sequence` statement to current schema
15    fn apply_alter_sequence(self, alter_seq: &AlterSequence) -> Result<Self, AnalysisError>;
16
17    /// apply `create sequence` statement to current schema
18    fn apply_create_sequence(self, create_sequence: &CreateSequence)
19    -> Result<Self, AnalysisError>;
20}