sql_fun_sqlast/sem/
create_extension.rs1use crate::sem::AstAndContextPair;
2
3use super::{AnalysisError, ParseContext, SemAst};
4
5#[derive(Debug, Clone)]
7pub struct CreateExtension {
8 name: String,
9}
10
11impl CreateExtension {
12 #[must_use]
14 pub fn name(&self) -> &str {
15 &self.name
16 }
17}
18
19pub fn analyze_create_extension<TParseContext>(
21 context: TParseContext,
22 _parent_schema: &Option<String>,
23 syn: crate::syn::CreateExtensionStmt,
24) -> Result<AstAndContextPair<TParseContext>, AnalysisError>
25where
26 TParseContext: ParseContext,
27{
28 let name = syn.get_extname();
29 let extension = CreateExtension { name };
30 let result_context = context.apply_create_extension(&extension)?;
31 Ok(AstAndContextPair::new(
32 SemAst::CreateExtension(extension),
33 result_context,
34 ))
35}