3131//! util::copy(&mut large_object, &mut file).unwrap();
3232//! }
3333//! ```
34- #![ feature( unsafe_destructor, io, core) ]
34+ #![ feature( unsafe_destructor, io, old_io , core) ]
3535#![ doc( html_root_url="https://sfackler.github.io/rust-postgres-large-object/doc" ) ]
3636
3737extern crate postgres;
@@ -207,7 +207,8 @@ impl<'a> Reader for LargeObject<'a> {
207207 fn read ( & mut self , buf : & mut [ u8 ] ) -> IoResult < usize > {
208208 let stmt = try_old_io ! ( self . trans. prepare_cached( "SELECT pg_catalog.loread($1, $2)" ) ) ;
209209 let cap = cmp:: min ( buf. len ( ) , i32:: MAX as usize ) as i32 ;
210- let out: Vec < u8 > = try_old_io ! ( stmt. query( & [ & self . fd, & cap] ) ) . next ( ) . unwrap ( ) . get ( 0 ) ;
210+ let row = try_old_io ! ( stmt. query( & [ & self . fd, & cap] ) ) . next ( ) . unwrap ( ) ;
211+ let out = row. get_bytes ( 0 ) . unwrap ( ) ;
211212
212213 if !buf. is_empty ( ) && out. is_empty ( ) {
213214 return Err ( old_io:: standard_error ( IoErrorKind :: EndOfFile ) ) ;
@@ -222,7 +223,8 @@ impl<'a> io::Read for LargeObject<'a> {
222223 fn read ( & mut self , buf : & mut [ u8 ] ) -> io:: Result < usize > {
223224 let stmt = try_io ! ( self . trans. prepare_cached( "SELECT pg_catalog.loread($1, $2)" ) ) ;
224225 let cap = cmp:: min ( buf. len ( ) , i32:: MAX as usize ) as i32 ;
225- let out: Vec < u8 > = try_io ! ( stmt. query( & [ & self . fd, & cap] ) ) . next ( ) . unwrap ( ) . get ( 0 ) ;
226+ let row = try_io ! ( stmt. query( & [ & self . fd, & cap] ) ) . next ( ) . unwrap ( ) ;
227+ let out = row. get_bytes ( 0 ) . unwrap ( ) ;
226228
227229 bytes:: copy_memory ( buf, & out) ;
228230 Ok ( out. len ( ) )
0 commit comments