@@ -142,26 +142,27 @@ def _get_number_of_parameters_for_prepared_statement(self, dbname, query_signatu
142
142
dbname , PARAM_TYPES_COUNT_QUERY .format (query_signature = query_signature )
143
143
)
144
144
return rows [0 ][0 ] if rows else 0
145
-
145
+
146
146
@tracked_method (agent_check_getter = agent_check_getter )
147
- def _explain_prepared_statement (self , dbname , statement , obfuscated_statement , query_signature ):
148
- num_params = self ._get_number_of_parameters_for_prepared_statement (dbname , query_signature )
149
-
147
+ def _generate_prepared_statement_query (self , dbname : str , query_signature : str ) -> str :
150
148
parameters = ""
149
+ num_params = self ._get_number_of_parameters_for_prepared_statement (dbname , query_signature )
151
150
152
151
if num_params > 0 :
153
152
null_parameters = ',' .join ('null' for _ in range (num_params ))
154
153
parameters = f"({ null_parameters } )"
155
154
156
- execute_prepared_statement_query = EXECUTE_PREPARED_STATEMENT_QUERY .format (
157
- prepared_statement = query_signature , parameters = parameters
158
- )
155
+ return EXECUTE_PREPARED_STATEMENT_QUERY .format (prepared_statement = query_signature , parameters = parameters )
156
+
157
+ @tracked_method (agent_check_getter = agent_check_getter )
158
+ def _explain_prepared_statement (self , dbname , statement , obfuscated_statement , query_signature ):
159
+ prepared_statement_query = self ._generate_prepared_statement_query (dbname , query_signature )
159
160
try :
160
161
return self ._execute_query_and_fetch_rows (
161
162
dbname ,
162
163
EXPLAIN_QUERY .format (
163
164
explain_function = self ._explain_function ,
164
- statement = execute_prepared_statement_query ,
165
+ statement = prepared_statement_query ,
165
166
),
166
167
)
167
168
except Exception as e :
0 commit comments