@@ -89,11 +89,7 @@ impl<'a> UdfQueryParser<'a> {
8989 let mut sql = String :: new ( ) ;
9090 let mut udf_blocks: HashMap < String , Vec < String > > = HashMap :: new ( ) ;
9191 for s in statements {
92- let Statement :: Statement ( stmt) = s else {
93- continue ;
94- } ;
95-
96- match parse_udf ( * stmt) ? {
92+ match parse_udf ( s) ? {
9793 Parsed :: Udf { code, language } => {
9894 if let Some ( existing) = udf_blocks. get_mut ( & language) {
9995 existing. push ( code) ;
@@ -130,31 +126,34 @@ enum Parsed {
130126}
131127
132128/// Parse a single SQL statement to extract a UDF
133- fn parse_udf ( stmt : SqlStatement ) -> DataFusionResult < Parsed > {
129+ fn parse_udf ( stmt : Statement ) -> DataFusionResult < Parsed > {
134130 match stmt {
135- SqlStatement :: CreateFunction ( cf) => {
136- let function_body = cf. function_body . as_ref ( ) ;
137-
138- let language = if let Some ( lang) = cf. language . as_ref ( ) {
139- lang. to_string ( )
140- } else {
141- return Err ( DataFusionError :: Plan (
142- "function language is required for UDFs" . to_string ( ) ,
143- ) ) ;
144- } ;
145-
146- let code = match function_body {
147- Some ( body) => extract_function_body ( body) ,
148- None => Err ( DataFusionError :: Plan (
149- "function body is required for UDFs" . to_string ( ) ,
150- ) ) ,
151- } ?;
152-
153- Ok ( Parsed :: Udf {
154- code : code. to_string ( ) ,
155- language,
156- } )
157- }
131+ Statement :: Statement ( stmt) => match * stmt {
132+ SqlStatement :: CreateFunction ( cf) => {
133+ let function_body = cf. function_body . as_ref ( ) ;
134+
135+ let language = if let Some ( lang) = cf. language . as_ref ( ) {
136+ lang. to_string ( )
137+ } else {
138+ return Err ( DataFusionError :: Plan (
139+ "function language is required for UDFs" . to_string ( ) ,
140+ ) ) ;
141+ } ;
142+
143+ let code = match function_body {
144+ Some ( body) => extract_function_body ( body) ,
145+ None => Err ( DataFusionError :: Plan (
146+ "function body is required for UDFs" . to_string ( ) ,
147+ ) ) ,
148+ } ?;
149+
150+ Ok ( Parsed :: Udf {
151+ code : code. to_string ( ) ,
152+ language,
153+ } )
154+ }
155+ _ => Ok ( Parsed :: Other ( stmt. to_string ( ) ) ) ,
156+ } ,
158157 _ => Ok ( Parsed :: Other ( stmt. to_string ( ) ) ) ,
159158 }
160159}
0 commit comments