@@ -30,7 +30,7 @@ use sqlparser_derive::{Visit, VisitMut};
3030
3131use crate :: ast:: value:: escape_single_quote_string;
3232use crate :: ast:: {
33- display_comma_separated, display_separated, CommentDef , CreateFunctionBody ,
33+ display_comma_separated, display_separated, ArgMode , CommentDef , CreateFunctionBody ,
3434 CreateFunctionUsing , DataType , Expr , FunctionBehavior , FunctionCalledOnNull ,
3535 FunctionDeterminismSpecifier , FunctionParallel , Ident , IndexColumn , MySQLColumnPosition ,
3636 ObjectName , OperateFunctionArg , OrderByExpr , ProjectionSelect , SequenceOptions , SqlOption , Tag ,
@@ -1367,11 +1367,16 @@ impl fmt::Display for NullsDistinctOption {
13671367pub struct ProcedureParam {
13681368 pub name : Ident ,
13691369 pub data_type : DataType ,
1370+ pub mode : Option < ArgMode > ,
13701371}
13711372
13721373impl fmt:: Display for ProcedureParam {
13731374 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
1374- write ! ( f, "{} {}" , self . name, self . data_type)
1375+ if let Some ( mode) = & self . mode {
1376+ write ! ( f, "{mode} {} {}" , self . name, self . data_type)
1377+ } else {
1378+ write ! ( f, "{} {}" , self . name, self . data_type)
1379+ }
13751380 }
13761381}
13771382
0 commit comments