@@ -3,7 +3,7 @@ use diesel::associations::HasTable;
3
3
use diesel:: query_builder:: IntoUpdateTarget ;
4
4
use diesel:: result:: QueryResult ;
5
5
use diesel:: AsChangeset ;
6
- use futures :: { FutureExt , Stream , StreamExt , TryFutureExt , TryStreamExt } ;
6
+ use futures_util :: { future , stream , FutureExt , Stream , StreamExt , TryFutureExt , TryStreamExt } ;
7
7
use std:: pin:: Pin ;
8
8
9
9
/// The traits used by `QueryDsl`.
@@ -19,7 +19,7 @@ pub mod methods {
19
19
use diesel:: expression:: QueryMetadata ;
20
20
use diesel:: query_builder:: { AsQuery , QueryFragment , QueryId } ;
21
21
use diesel:: query_dsl:: CompatibleType ;
22
- use futures :: { Future , Stream , TryFutureExt } ;
22
+ use futures_util :: { Future , Stream , TryFutureExt } ;
23
23
24
24
/// The `execute` method
25
25
///
@@ -92,12 +92,12 @@ pub mod methods {
92
92
DB : QueryMetadata < T :: SqlType > ,
93
93
ST : ' static ,
94
94
{
95
- type LoadFuture < ' conn > = futures :: future:: MapOk <
95
+ type LoadFuture < ' conn > = future:: MapOk <
96
96
Conn :: LoadFuture < ' conn , ' query > ,
97
97
fn ( Conn :: Stream < ' conn , ' query > ) -> Self :: Stream < ' conn > ,
98
98
> where Conn : ' conn ;
99
99
100
- type Stream < ' conn > = futures :: stream:: Map <
100
+ type Stream < ' conn > = stream:: Map <
101
101
Conn :: Stream < ' conn , ' query > ,
102
102
fn (
103
103
QueryResult < Conn :: Row < ' conn , ' query > > ,
@@ -113,7 +113,7 @@ pub mod methods {
113
113
#[ allow( clippy:: type_complexity) ]
114
114
fn map_result_stream_future < ' s , ' a , U , S , R , DB , ST > (
115
115
stream : S ,
116
- ) -> futures :: stream:: Map < S , fn ( QueryResult < R > ) -> QueryResult < U > >
116
+ ) -> stream:: Map < S , fn ( QueryResult < R > ) -> QueryResult < U > >
117
117
where
118
118
S : Stream < Item = QueryResult < R > > + Send + ' s ,
119
119
R : diesel:: row:: Row < ' a , DB > + ' s ,
@@ -144,36 +144,35 @@ pub mod methods {
144
144
pub mod return_futures {
145
145
use super :: methods:: LoadQuery ;
146
146
use diesel:: QueryResult ;
147
+ use futures_util:: { future, stream} ;
147
148
use std:: pin:: Pin ;
148
149
149
150
/// The future returned by [`RunQueryDsl::load`](super::RunQueryDsl::load)
150
151
/// and [`RunQueryDsl::get_results`](super::RunQueryDsl::get_results)
151
152
///
152
153
/// This is essentially `impl Future<Output = QueryResult<Vec<U>>>`
153
- pub type LoadFuture < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > =
154
- futures:: future:: AndThen <
155
- Q :: LoadFuture < ' conn > ,
156
- futures:: stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
157
- fn ( Q :: Stream < ' conn > ) -> futures:: stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
158
- > ;
154
+ pub type LoadFuture < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > = future:: AndThen <
155
+ Q :: LoadFuture < ' conn > ,
156
+ stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
157
+ fn ( Q :: Stream < ' conn > ) -> stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
158
+ > ;
159
159
160
160
/// The future returned by [`RunQueryDsl::get_result`](super::RunQueryDsl::get_result)
161
161
///
162
162
/// This is essentially `impl Future<Output = QueryResult<U>>`
163
- pub type GetResult < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > =
164
- futures:: future:: AndThen <
165
- Q :: LoadFuture < ' conn > ,
166
- futures:: future:: Map <
167
- futures:: stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
168
- fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
169
- > ,
170
- fn (
171
- Q :: Stream < ' conn > ,
172
- ) -> futures:: future:: Map <
173
- futures:: stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
174
- fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
175
- > ,
176
- > ;
163
+ pub type GetResult < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > = future:: AndThen <
164
+ Q :: LoadFuture < ' conn > ,
165
+ future:: Map <
166
+ stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
167
+ fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
168
+ > ,
169
+ fn (
170
+ Q :: Stream < ' conn > ,
171
+ ) -> future:: Map <
172
+ stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
173
+ fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
174
+ > ,
175
+ > ;
177
176
}
178
177
179
178
/// Methods used to execute queries.
@@ -329,7 +328,7 @@ pub trait RunQueryDsl<Conn>: Sized {
329
328
Conn : AsyncConnection ,
330
329
Self : methods:: LoadQuery < ' query , Conn , U > + ' query ,
331
330
{
332
- fn collect_result < U , S > ( stream : S ) -> futures :: stream:: TryCollect < S , Vec < U > >
331
+ fn collect_result < U , S > ( stream : S ) -> stream:: TryCollect < S , Vec < U > >
333
332
where
334
333
S : Stream < Item = QueryResult < U > > ,
335
334
{
@@ -373,14 +372,14 @@ pub trait RunQueryDsl<Conn>: Sized {
373
372
/// # async fn run_test() -> QueryResult<()> {
374
373
/// # use diesel::insert_into;
375
374
/// # use schema::users::dsl::*;
376
- /// # use futures ::stream::TryStreamExt;
375
+ /// # use futures_util ::stream::TryStreamExt;
377
376
/// # let connection = &mut establish_connection().await;
378
377
/// let data = users.select(name)
379
378
/// .load_stream::<String>(connection)
380
379
/// .await?
381
380
/// .try_fold(Vec::new(), |mut acc, item| {
382
381
/// acc.push(item);
383
- /// futures ::future::ready(Ok(acc))
382
+ /// futures_util ::future::ready(Ok(acc))
384
383
/// })
385
384
/// .await?;
386
385
/// assert_eq!(vec!["Sean", "Tess"], data);
@@ -401,14 +400,14 @@ pub trait RunQueryDsl<Conn>: Sized {
401
400
/// # async fn run_test() -> QueryResult<()> {
402
401
/// # use diesel::insert_into;
403
402
/// # use schema::users::dsl::*;
404
- /// # use futures ::stream::TryStreamExt;
403
+ /// # use futures_util ::stream::TryStreamExt;
405
404
/// # let connection = &mut establish_connection().await;
406
405
/// let data = users
407
406
/// .load_stream::<(i32, String)>(connection)
408
407
/// .await?
409
408
/// .try_fold(Vec::new(), |mut acc, item| {
410
409
/// acc.push(item);
411
- /// futures ::future::ready(Ok(acc))
410
+ /// futures_util ::future::ready(Ok(acc))
412
411
/// })
413
412
/// .await?;
414
413
/// let expected_data = vec![
@@ -439,14 +438,14 @@ pub trait RunQueryDsl<Conn>: Sized {
439
438
/// # async fn run_test() -> QueryResult<()> {
440
439
/// # use diesel::insert_into;
441
440
/// # use schema::users::dsl::*;
442
- /// # use futures ::stream::TryStreamExt;
441
+ /// # use futures_util ::stream::TryStreamExt;
443
442
/// # let connection = &mut establish_connection().await;
444
443
/// let data = users
445
444
/// .load_stream::<User>(connection)
446
445
/// .await?
447
446
/// .try_fold(Vec::new(), |mut acc, item| {
448
447
/// acc.push(item);
449
- /// futures ::future::ready(Ok(acc))
448
+ /// futures_util ::future::ready(Ok(acc))
450
449
/// })
451
450
/// .await?;
452
451
/// let expected_data = vec![
@@ -526,8 +525,8 @@ pub trait RunQueryDsl<Conn>: Sized {
526
525
#[ allow( clippy:: type_complexity) ]
527
526
fn get_next_stream_element < S , U > (
528
527
stream : S ,
529
- ) -> futures :: future:: Map <
530
- futures :: stream:: StreamFuture < Pin < Box < S > > > ,
528
+ ) -> future:: Map <
529
+ stream:: StreamFuture < Pin < Box < S > > > ,
531
530
fn ( ( Option < QueryResult < U > > , Pin < Box < S > > ) ) -> QueryResult < U > ,
532
531
>
533
532
where
0 commit comments