@@ -108,10 +108,14 @@ impl MySqlConnection {
108108 persistent : bool ,
109109 ) -> Result < impl Stream < Item = Result < Either < MySqlQueryResult , MySqlRow > , Error > > + ' e , Error >
110110 {
111+ let mut logger = QueryLogger :: new ( sql, self . inner . log_settings . clone ( ) ) ;
112+
111113 self . inner . stream . wait_until_ready ( ) . await ?;
112114 self . inner . stream . waiting . push_back ( Waiting :: Result ) ;
113115
114116 Ok ( try_stream ! {
117+ let sql = logger. sql( ) . as_str( ) ;
118+
115119 // make a slot for the shared column data
116120 // as long as a reference to a row is not held past one iteration, this enables us
117121 // to re-use this memory freely between result sets
@@ -120,7 +124,7 @@ impl MySqlConnection {
120124 let ( mut column_names, format, mut needs_metadata) = if let Some ( arguments) = arguments {
121125 if persistent && self . inner. cache_statement. is_enabled( ) {
122126 let ( id, metadata) = self
123- . get_or_prepare_statement( sql. as_str ( ) )
127+ . get_or_prepare_statement( sql)
124128 . await ?;
125129
126130 if arguments. types. len( ) != metadata. parameters {
@@ -144,7 +148,7 @@ impl MySqlConnection {
144148 ( metadata. column_names, MySqlValueFormat :: Binary , false )
145149 } else {
146150 let ( id, metadata) = self
147- . prepare_statement( sql. as_str ( ) )
151+ . prepare_statement( sql)
148152 . await ?;
149153
150154 if arguments. types. len( ) != metadata. parameters {
@@ -171,11 +175,10 @@ impl MySqlConnection {
171175 }
172176 } else {
173177 // https://dev.mysql.com/doc/internals/en/com-query.html
174- self . inner. stream. send_packet( Query ( sql. as_str ( ) ) ) . await ?;
178+ self . inner. stream. send_packet( Query ( sql) ) . await ?;
175179
176180 ( Arc :: default ( ) , MySqlValueFormat :: Text , true )
177181 } ;
178- let mut logger = QueryLogger :: new( sql, self . inner. log_settings. clone( ) ) ;
179182
180183 loop {
181184 // query response is a meta-packet which may be one of:
0 commit comments