@@ -84,10 +84,6 @@ impl PrepareExecuteHook {
8484 prepared_statements : Arc :: new ( RwLock :: new ( HashMap :: new ( ) ) ) ,
8585 }
8686 }
87-
88- pub fn clone_statements ( & self ) -> PreparedStatements {
89- self . prepared_statements . clone ( )
90- }
9187}
9288
9389impl Default for PrepareExecuteHook {
@@ -116,9 +112,9 @@ impl QueryHook for PrepareExecuteHook {
116112 // Convert inner statement to LogicalPlan
117113 let plan_result = session_context
118114 . state ( )
119- . statement_to_plan ( datafusion:: sql:: parser:: Statement :: Statement (
120- Box :: new ( * statement. clone ( ) ) ,
121- ) )
115+ . statement_to_plan ( datafusion:: sql:: parser:: Statement :: Statement ( Box :: new (
116+ * statement. clone ( ) ,
117+ ) ) )
122118 . await ;
123119
124120 match plan_result {
@@ -165,17 +161,15 @@ impl QueryHook for PrepareExecuteHook {
165161 // Retrieve the prepared statement info
166162 let info = {
167163 let stmts = self . prepared_statements . read ( ) . unwrap ( ) ;
168- stmts. get ( & stmt_name ) . map ( |info| {
169- ( info . plan . clone ( ) , info . parameter_types . clone ( ) )
170- } )
164+ stmts
165+ . get ( & stmt_name )
166+ . map ( |info| ( info . plan . clone ( ) , info . parameter_types . clone ( ) ) )
171167 } ;
172168
173169 match info {
174170 Some ( ( plan, declared_types) ) => {
175171 // Validate parameter count when types were explicitly declared
176- if !declared_types. is_empty ( )
177- && parameters. len ( ) != declared_types. len ( )
178- {
172+ if !declared_types. is_empty ( ) && parameters. len ( ) != declared_types. len ( ) {
179173 return Some ( Err ( PgWireError :: UserError ( Box :: new (
180174 pgwire:: error:: ErrorInfo :: new (
181175 "ERROR" . to_string ( ) ,
@@ -190,17 +184,18 @@ impl QueryHook for PrepareExecuteHook {
190184 }
191185
192186 // Build ParamValues from EXECUTE parameters
193- let param_values_result: Result < ParamValues , PgWireError > =
194- if parameters. is_empty ( ) {
195- Ok ( ParamValues :: List ( vec ! [ ] ) )
196- } else {
197- let state = session_context. state ( ) ;
198- let empty_schema = DFSchema :: empty ( ) ;
199- let exec_props = state. execution_props ( ) . clone ( ) ;
200- let simplify_ctx = SimplifyContext :: new ( & exec_props) ;
201- let simplifier = ExprSimplifier :: new ( simplify_ctx) ;
202-
203- let scalar_params: Result < Vec < ScalarAndMetadata > , PgWireError > =
187+ let param_values_result: Result < ParamValues , PgWireError > = if parameters
188+ . is_empty ( )
189+ {
190+ Ok ( ParamValues :: List ( vec ! [ ] ) )
191+ } else {
192+ let state = session_context. state ( ) ;
193+ let empty_schema = DFSchema :: empty ( ) ;
194+ let exec_props = state. execution_props ( ) . clone ( ) ;
195+ let simplify_ctx = SimplifyContext :: new ( & exec_props) ;
196+ let simplifier = ExprSimplifier :: new ( simplify_ctx) ;
197+
198+ let scalar_params: Result < Vec < ScalarAndMetadata > , PgWireError > =
204199 parameters
205200 . iter ( )
206201 . enumerate ( )
@@ -278,8 +273,8 @@ impl QueryHook for PrepareExecuteHook {
278273 } )
279274 . collect ( ) ;
280275
281- scalar_params. map ( ParamValues :: List )
282- } ;
276+ scalar_params. map ( ParamValues :: List )
277+ } ;
283278
284279 let param_values = match param_values_result {
285280 Ok ( pv) => pv,
@@ -396,7 +391,10 @@ mod tests {
396391 )
397392 . await ;
398393
399- assert ! ( result. is_err( ) , "EXECUTE with wrong parameter count should fail" ) ;
394+ assert ! (
395+ result. is_err( ) ,
396+ "EXECUTE with wrong parameter count should fail"
397+ ) ;
400398 let err_msg = format ! ( "{:?}" , result. unwrap_err( ) ) ;
401399 assert ! (
402400 err_msg. contains( "07001" ) || err_msg. contains( "wrong number" ) ,
@@ -433,7 +431,9 @@ mod tests {
433431 ) ;
434432 let err_msg = format ! ( "{:?}" , result. unwrap_err( ) ) ;
435433 assert ! (
436- err_msg. contains( "22023" ) || err_msg. contains( "invalid type" ) || err_msg. contains( "invalid parameter" ) ,
434+ err_msg. contains( "22023" )
435+ || err_msg. contains( "invalid type" )
436+ || err_msg. contains( "invalid parameter" ) ,
437437 "Error should reference SQLSTATE 22023 or type mismatch: {}" ,
438438 err_msg
439439 ) ;
0 commit comments