11use crate :: { BinaryCopyInWriter , BinaryCopyOutStream } ;
2+ use futures:: { pin_mut, TryStreamExt } ;
23use tokio_postgres:: types:: Type ;
34use tokio_postgres:: { Client , NoTls } ;
4- use futures:: { TryStreamExt , pin_mut} ;
55
66async fn connect ( ) -> Client {
77 let ( client, connection) =
@@ -23,11 +23,18 @@ async fn write_basic() {
2323 . await
2424 . unwrap ( ) ;
2525
26- let sink = client. copy_in ( "COPY foo (id, bar) FROM STDIN BINARY" , & [ ] ) . await . unwrap ( ) ;
26+ let sink = client
27+ . copy_in ( "COPY foo (id, bar) FROM STDIN BINARY" , & [ ] )
28+ . await
29+ . unwrap ( ) ;
2730 let writer = BinaryCopyInWriter :: new ( sink, & [ Type :: INT4 , Type :: TEXT ] ) ;
2831 pin_mut ! ( writer) ;
2932 writer. as_mut ( ) . write ( & [ & 1i32 , & "foobar" ] ) . await . unwrap ( ) ;
30- writer. as_mut ( ) . write ( & [ & 2i32 , & None :: < & str > ] ) . await . unwrap ( ) ;
33+ writer
34+ . as_mut ( )
35+ . write ( & [ & 2i32 , & None :: < & str > ] )
36+ . await
37+ . unwrap ( ) ;
3138 writer. finish ( ) . await . unwrap ( ) ;
3239
3340 let rows = client
@@ -50,12 +57,19 @@ async fn write_many_rows() {
5057 . await
5158 . unwrap ( ) ;
5259
53- let sink = client. copy_in ( "COPY foo (id, bar) FROM STDIN BINARY" , & [ ] ) . await . unwrap ( ) ;
60+ let sink = client
61+ . copy_in ( "COPY foo (id, bar) FROM STDIN BINARY" , & [ ] )
62+ . await
63+ . unwrap ( ) ;
5464 let writer = BinaryCopyInWriter :: new ( sink, & [ Type :: INT4 , Type :: TEXT ] ) ;
5565 pin_mut ! ( writer) ;
5666
5767 for i in 0 ..10_000i32 {
58- writer. as_mut ( ) . write ( & [ & i, & format ! ( "the value for {}" , i) ] ) . await . unwrap ( ) ;
68+ writer
69+ . as_mut ( )
70+ . write ( & [ & i, & format ! ( "the value for {}" , i) ] )
71+ . await
72+ . unwrap ( ) ;
5973 }
6074
6175 writer. finish ( ) . await . unwrap ( ) ;
@@ -79,12 +93,19 @@ async fn write_big_rows() {
7993 . await
8094 . unwrap ( ) ;
8195
82- let sink = client. copy_in ( "COPY foo (id, bar) FROM STDIN BINARY" , & [ ] ) . await . unwrap ( ) ;
96+ let sink = client
97+ . copy_in ( "COPY foo (id, bar) FROM STDIN BINARY" , & [ ] )
98+ . await
99+ . unwrap ( ) ;
83100 let writer = BinaryCopyInWriter :: new ( sink, & [ Type :: INT4 , Type :: BYTEA ] ) ;
84101 pin_mut ! ( writer) ;
85102
86103 for i in 0 ..2i32 {
87- writer. as_mut ( ) . write ( & [ & i, & vec ! [ i as u8 ; 128 * 1024 ] ] ) . await . unwrap ( ) ;
104+ writer
105+ . as_mut ( )
106+ . write ( & [ & i, & vec ! [ i as u8 ; 128 * 1024 ] ] )
107+ . await
108+ . unwrap ( ) ;
88109 }
89110
90111 writer. finish ( ) . await . unwrap ( ) ;
@@ -108,13 +129,19 @@ async fn read_basic() {
108129 "
109130 CREATE TEMPORARY TABLE foo (id INT, bar TEXT);
110131 INSERT INTO foo (id, bar) VALUES (1, 'foobar'), (2, NULL);
111- "
132+ " ,
112133 )
113134 . await
114135 . unwrap ( ) ;
115136
116- let stream = client. copy_out ( "COPY foo (id, bar) TO STDIN BINARY" , & [ ] ) . await . unwrap ( ) ;
117- let rows = BinaryCopyOutStream :: new ( & [ Type :: INT4 , Type :: TEXT ] , stream) . try_collect :: < Vec < _ > > ( ) . await . unwrap ( ) ;
137+ let stream = client
138+ . copy_out ( "COPY foo (id, bar) TO STDIN BINARY" , & [ ] )
139+ . await
140+ . unwrap ( ) ;
141+ let rows = BinaryCopyOutStream :: new ( & [ Type :: INT4 , Type :: TEXT ] , stream)
142+ . try_collect :: < Vec < _ > > ( )
143+ . await
144+ . unwrap ( ) ;
118145 assert_eq ! ( rows. len( ) , 2 ) ;
119146
120147 assert_eq ! ( rows[ 0 ] . get:: <i32 >( 0 ) , 1 ) ;
@@ -136,8 +163,14 @@ async fn read_many_rows() {
136163 . await
137164 . unwrap ( ) ;
138165
139- let stream = client. copy_out ( "COPY foo (id, bar) TO STDIN BINARY" , & [ ] ) . await . unwrap ( ) ;
140- let rows = BinaryCopyOutStream :: new ( & [ Type :: INT4 , Type :: TEXT ] , stream) . try_collect :: < Vec < _ > > ( ) . await . unwrap ( ) ;
166+ let stream = client
167+ . copy_out ( "COPY foo (id, bar) TO STDIN BINARY" , & [ ] )
168+ . await
169+ . unwrap ( ) ;
170+ let rows = BinaryCopyOutStream :: new ( & [ Type :: INT4 , Type :: TEXT ] , stream)
171+ . try_collect :: < Vec < _ > > ( )
172+ . await
173+ . unwrap ( ) ;
141174 assert_eq ! ( rows. len( ) , 10_000 ) ;
142175
143176 for ( i, row) in rows. iter ( ) . enumerate ( ) {
@@ -155,11 +188,23 @@ async fn read_big_rows() {
155188 . await
156189 . unwrap ( ) ;
157190 for i in 0 ..2i32 {
158- client. execute ( "INSERT INTO foo (id, bar) VALUES ($1, $2)" , & [ & i, & vec ! [ i as u8 ; 128 * 1024 ] ] ) . await . unwrap ( ) ;
191+ client
192+ . execute (
193+ "INSERT INTO foo (id, bar) VALUES ($1, $2)" ,
194+ & [ & i, & vec ! [ i as u8 ; 128 * 1024 ] ] ,
195+ )
196+ . await
197+ . unwrap ( ) ;
159198 }
160199
161- let stream = client. copy_out ( "COPY foo (id, bar) TO STDIN BINARY" , & [ ] ) . await . unwrap ( ) ;
162- let rows = BinaryCopyOutStream :: new ( & [ Type :: INT4 , Type :: BYTEA ] , stream) . try_collect :: < Vec < _ > > ( ) . await . unwrap ( ) ;
200+ let stream = client
201+ . copy_out ( "COPY foo (id, bar) TO STDIN BINARY" , & [ ] )
202+ . await
203+ . unwrap ( ) ;
204+ let rows = BinaryCopyOutStream :: new ( & [ Type :: INT4 , Type :: BYTEA ] , stream)
205+ . try_collect :: < Vec < _ > > ( )
206+ . await
207+ . unwrap ( ) ;
163208 assert_eq ! ( rows. len( ) , 2 ) ;
164209
165210 for ( i, row) in rows. iter ( ) . enumerate ( ) {
0 commit comments