@@ -15,7 +15,7 @@ use std::mem;
15
15
use std:: marker:: PhantomData ;
16
16
use std:: iter:: FromIterator ;
17
17
use std:: convert:: From ;
18
- use postgres:: types:: { Type , IsNull , ToSql , FromSql , SessionInfo } ;
18
+ use postgres:: types:: { Type , IsNull , ToSql , FromSql , SessionInfo , WrongType } ;
19
19
use byteorder:: { ReadBytesExt , WriteBytesExt , BigEndian , LittleEndian } ;
20
20
pub mod mars;
21
21
@@ -384,7 +384,7 @@ macro_rules! impl_traits_for_point {
384
384
impl <S : SRID > FromSql for $ptype<S > {
385
385
accepts_geography!( ) ;
386
386
fn from_sql<R : Read >( ty: & Type , raw: & mut R , _ctx: & SessionInfo ) -> postgres:: Result <$ptype<S >> {
387
- <$ptype<S > as ToPoint >:: read_ewkb( raw) . map_err( |_| postgres :: error:: Error :: WrongType ( ty . clone ( ) ) )
387
+ <$ptype<S > as ToPoint >:: read_ewkb( raw) . map_err( |_| { let err : Box <std :: error:: Error + Sync + Send > = format! ( "cannot convert {} to ToPoint" , ty ) . into ( ) ; postgres :: error :: Error :: Conversion ( err ) } )
388
388
}
389
389
}
390
390
@@ -490,7 +490,7 @@ macro_rules! define_geometry_container_type {
490
490
impl <P : ToPoint + fmt:: Debug > FromSql for $geotype<P > {
491
491
accepts_geography!( ) ;
492
492
fn from_sql<R : Read >( ty: & Type , raw: & mut R , _ctx: & SessionInfo ) -> postgres:: Result <$geotype<P >> {
493
- <Self as Geometry >:: read_ewkb( raw) . map_err( |_| postgres :: error:: Error :: WrongType ( ty . clone ( ) ) )
493
+ <Self as Geometry >:: read_ewkb( raw) . map_err( |_| { let err : Box <std :: error:: Error + Sync + Send > = format! ( "cannot convert {} to Geometry" , ty ) . into ( ) ; postgres :: error :: Error :: Conversion ( err ) } )
494
494
}
495
495
}
496
496
) ;
@@ -558,7 +558,7 @@ macro_rules! define_geometry_container_type {
558
558
impl <P : ToPoint + fmt:: Debug > FromSql for $geotype<P > {
559
559
accepts_geography!( ) ;
560
560
fn from_sql<R : Read >( ty: & Type , raw: & mut R , _ctx: & SessionInfo ) -> postgres:: Result <$geotype<P >> {
561
- <Self as Geometry >:: read_ewkb( raw) . map_err( |_| postgres :: error:: Error :: WrongType ( ty . clone ( ) ) )
561
+ <Self as Geometry >:: read_ewkb( raw) . map_err( |_| { let err : Box <std :: error:: Error + Sync + Send > = format! ( "cannot convert {} to Geometry" , ty ) . into ( ) ; postgres :: error :: Error :: Conversion ( err ) } )
562
562
}
563
563
}
564
564
)
@@ -749,7 +749,7 @@ impl<P: ToPoint + fmt::Debug> ToSql for GeometryCollection<P> {
749
749
impl < P : ToPoint + fmt:: Debug > FromSql for GeometryCollection < P > {
750
750
accepts_geography ! ( ) ;
751
751
fn from_sql < R : Read > ( ty : & Type , raw : & mut R , _ctx : & SessionInfo ) -> postgres:: Result < GeometryCollection < P > > {
752
- <Self as Geometry >:: read_ewkb ( raw) . map_err ( |_| postgres :: error:: Error :: WrongType ( ty . clone ( ) ) )
752
+ <Self as Geometry >:: read_ewkb ( raw) . map_err ( |_| { let err : Box < std :: error:: Error + Sync + Send > = format ! ( "cannot convert {} to Geometry" , ty ) . into ( ) ; postgres :: error :: Error :: Conversion ( err ) } )
753
753
}
754
754
}
755
755
0 commit comments