@@ -25,6 +25,13 @@ pub trait GenericClient: private::Sealed {
25
25
I : IntoIterator < Item =P > +Sync +Send ,
26
26
I :: IntoIter : ExactSizeIterator ;
27
27
28
+ /// Like [`Client::execute_typed`].
29
+ async fn execute_typed (
30
+ & self ,
31
+ statement : & str ,
32
+ params : & [ ( & ( dyn ToSql +Sync ) , Type ) ] ,
33
+ ) ->Result < u64 , Error > ;
34
+
28
35
/// Like [`Client::query`].
29
36
async fn query < T > ( & self , query : & T , params : & [ & ( dyn ToSql +Sync ) ] ) ->Result < Vec < Row > , Error >
30
37
where
@@ -117,6 +124,14 @@ impl GenericClient for Client {
117
124
self . execute ( query, params) . await
118
125
}
119
126
127
+ async fn execute_typed (
128
+ & self ,
129
+ statement : & str ,
130
+ params : & [ ( & ( dyn ToSql +Sync ) , Type ) ] ,
131
+ ) ->Result < u64 , Error > {
132
+ self . execute_typed ( statement, params) . await
133
+ }
134
+
120
135
async fn execute_raw < P , I , T > ( & self , statement : & T , params : I ) ->Result < u64 , Error >
121
136
where
122
137
T : ?Sized +ToStatement +Sync +Send ,
@@ -297,6 +312,23 @@ impl GenericClient for Transaction<'_> {
297
312
self . query_typed ( statement, params) . await
298
313
}
299
314
315
+ async fn query_typed_one (
316
+ & self ,
317
+ statement : & str ,
318
+ params : & [ ( & ( dyn ToSql +Sync ) , Type ) ] ,
319
+ ) ->Result < Row , Error > {
320
+ self . query_typed_one ( statement, params) . await
321
+ }
322
+
323
+ /// Like [`Client::query_opt_typed`].
324
+ async fn query_typed_opt (
325
+ & self ,
326
+ statement : & str ,
327
+ params : & [ ( & ( dyn ToSql +Sync ) , Type ) ] ,
328
+ ) ->Result < Option < Row > , Error > {
329
+ self . query_typed_opt ( statement, params) . await
330
+ }
331
+
300
332
async fn query_typed_raw < P , I > ( & self , statement : & str , params : I ) ->Result < RowStream , Error >
301
333
where
302
334
P : BorrowToSql ,
@@ -334,20 +366,11 @@ impl GenericClient for Transaction<'_> {
334
366
self . client ( )
335
367
}
336
368
337
- async fn query_typed_one (
369
+ async fn execute_typed (
338
370
& self ,
339
371
statement : & str ,
340
372
params : & [ ( & ( dyn ToSql +Sync ) , Type ) ] ,
341
- ) ->Result < Row , Error > {
342
- self . query_typed_one ( statement, params) . await
343
- }
344
-
345
- /// Like [`Client::query_opt_typed`].
346
- async fn query_typed_opt (
347
- & self ,
348
- statement : & str ,
349
- params : & [ ( & ( dyn ToSql +Sync ) , Type ) ] ,
350
- ) ->Result < Option < Row > , Error > {
351
- self . query_typed_opt ( statement, params) . await
373
+ ) ->Result < u64 , Error > {
374
+ self . client ( ) . execute_typed ( statement, params) . await
352
375
}
353
376
}