File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -3914,6 +3914,7 @@ pub enum Statement {
39143914 or_alter : bool ,
39153915 name : ObjectName ,
39163916 params : Option < Vec < ProcedureParam > > ,
3917+ language : Option < Ident > ,
39173918 body : ConditionalStatements ,
39183919 } ,
39193920 /// ```sql
@@ -4817,6 +4818,7 @@ impl fmt::Display for Statement {
48174818 name,
48184819 or_alter,
48194820 params,
4821+ language,
48204822 body,
48214823 } => {
48224824 write ! (
@@ -4832,6 +4834,10 @@ impl fmt::Display for Statement {
48324834 }
48334835 }
48344836
4837+ if let Some ( language) = language {
4838+ write ! ( f, " LANGUAGE {language}" ) ?;
4839+ }
4840+
48354841 write ! ( f, " AS {body}" )
48364842 }
48374843 Statement :: CreateMacro {
Original file line number Diff line number Diff line change @@ -15767,6 +15767,13 @@ impl<'a> Parser<'a> {
1576715767 pub fn parse_create_procedure(&mut self, or_alter: bool) -> Result<Statement, ParserError> {
1576815768 let name = self.parse_object_name(false)?;
1576915769 let params = self.parse_optional_procedure_parameters()?;
15770+
15771+ let language = if self.parse_keyword(Keyword::LANGUAGE) {
15772+ Some(self.parse_identifier()?)
15773+ } else {
15774+ None
15775+ };
15776+
1577015777 self.expect_keyword_is(Keyword::AS)?;
1577115778
1577215779 let body = self.parse_conditional_statements(&[Keyword::END])?;
@@ -15775,6 +15782,7 @@ impl<'a> Parser<'a> {
1577515782 name,
1577615783 or_alter,
1577715784 params,
15785+ language,
1577815786 body,
1577915787 })
1578015788 }
You can’t perform that action at this time.
0 commit comments