pub trait Encode<'q, DB>where
DB: Database,{
// Required method
fn encode_by_ref(
&self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>;
// Provided methods
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where Self: Sized { ... }
fn produces(&self) -> Option<<DB as Database>::TypeInfo> { ... }
fn size_hint(&self) -> usize { ... }
}Expand description
Encode a single value to be sent to the database.
Required Methods§
Sourcefn encode_by_ref(
&self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Writes the value of self into buf without moving self.
Where possible, make use of encode instead as it can take advantage of re-using
memory.
Provided Methods§
Sourcefn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>where
Self: Sized,
Writes the value of self into buf in the expected format for the database.
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Encode<'_, Postgres> for &[u8]
impl Encode<'_, Postgres> for &[u8]
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for &str
impl Encode<'_, Postgres> for &str
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for Vec<u8>
impl Encode<'_, Postgres> for Vec<u8>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for bool
impl Encode<'_, Postgres> for bool
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for f32
impl Encode<'_, Postgres> for f32
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for f64
impl Encode<'_, Postgres> for f64
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for i8
impl Encode<'_, Postgres> for i8
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for i16
impl Encode<'_, Postgres> for i16
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for i32
impl Encode<'_, Postgres> for i32
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Postgres> for i64
impl Encode<'_, Postgres> for i64
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for &[u8]
impl Encode<'_, Sqlite> for &[u8]
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for &str
impl Encode<'_, Sqlite> for &str
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for Arc<[u8]>
impl Encode<'_, Sqlite> for Arc<[u8]>
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for Rc<[u8]>
impl Encode<'_, Sqlite> for Rc<[u8]>
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for Rc<str>
impl Encode<'_, Sqlite> for Rc<str>
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for bool
impl Encode<'_, Sqlite> for bool
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for f32
impl Encode<'_, Sqlite> for f32
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for f64
impl Encode<'_, Sqlite> for f64
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for i8
impl Encode<'_, Sqlite> for i8
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for i16
impl Encode<'_, Sqlite> for i16
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for i32
impl Encode<'_, Sqlite> for i32
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for i64
impl Encode<'_, Sqlite> for i64
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for u8
impl Encode<'_, Sqlite> for u8
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for u16
impl Encode<'_, Sqlite> for u16
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl Encode<'_, Sqlite> for u32
impl Encode<'_, Sqlite> for u32
fn encode_by_ref( &self, args: &mut SqliteArgumentsBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<i8>
impl<'q, DB> Encode<'q, DB> for NonZero<i8>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<i16>
impl<'q, DB> Encode<'q, DB> for NonZero<i16>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<i32>
impl<'q, DB> Encode<'q, DB> for NonZero<i32>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<i64>
impl<'q, DB> Encode<'q, DB> for NonZero<i64>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<u8>
impl<'q, DB> Encode<'q, DB> for NonZero<u8>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<u16>
impl<'q, DB> Encode<'q, DB> for NonZero<u16>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<u32>
impl<'q, DB> Encode<'q, DB> for NonZero<u32>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, DB> Encode<'q, DB> for NonZero<u64>
impl<'q, DB> Encode<'q, DB> for NonZero<u64>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl<'q, T, DB> Encode<'q, DB> for &T
impl<'q, T, DB> Encode<'q, DB> for &T
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
Source§impl<'q, T, DB> Encode<'q, DB> for Arc<T>
impl<'q, T, DB> Encode<'q, DB> for Arc<T>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
Source§impl<'q, T, DB> Encode<'q, DB> for Box<T>
impl<'q, T, DB> Encode<'q, DB> for Box<T>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
Source§impl<'q, T, DB> Encode<'q, DB> for Cow<'q, T>
impl<'q, T, DB> Encode<'q, DB> for Cow<'q, T>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
Source§impl<'q, T, DB> Encode<'q, DB> for Rc<T>
impl<'q, T, DB> Encode<'q, DB> for Rc<T>
fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
Source§impl<'q, T, const N: usize> Encode<'q, Postgres> for [T; N]
impl<'q, T, const N: usize> Encode<'q, Postgres> for [T; N]
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl<'q, T> Encode<'q, Postgres> for &[T]
impl<'q, T> Encode<'q, Postgres> for &[T]
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl<'q, T> Encode<'q, Postgres> for Option<T>
impl<'q, T> Encode<'q, Postgres> for Option<T>
fn produces(&self) -> Option<<Postgres as Database>::TypeInfo>
fn encode( self, buf: &mut <Postgres as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <Postgres as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn size_hint(&self) -> usize
Source§impl<'q, T> Encode<'q, Postgres> for Vec<T>
impl<'q, T> Encode<'q, Postgres> for Vec<T>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Source§impl<'q, T> Encode<'q, Sqlite> for Option<T>
impl<'q, T> Encode<'q, Sqlite> for Option<T>
fn produces(&self) -> Option<<Sqlite as Database>::TypeInfo>
fn encode( self, buf: &mut <Sqlite as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn encode_by_ref( &self, buf: &mut <Sqlite as Database>::ArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn size_hint(&self) -> usize
Source§impl<const N: usize> Encode<'_, Postgres> for [u8; N]
impl<const N: usize> Encode<'_, Postgres> for [u8; N]
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
Implementors§
impl Encode<'_, Postgres> for Date
impl Encode<'_, Postgres> for Decimal
impl Encode<'_, Postgres> for kellnr_migration::sea_orm::sea_query::value::prelude::time::Duration
Available on crate feature
time only.impl Encode<'_, Postgres> for NaiveDate
impl Encode<'_, Postgres> for NaiveDateTime
impl Encode<'_, Postgres> for NaiveTime
impl Encode<'_, Postgres> for OffsetDateTime
impl Encode<'_, Postgres> for Oid
impl Encode<'_, Postgres> for PgBox
impl Encode<'_, Postgres> for PgCiText
impl Encode<'_, Postgres> for PgCircle
impl Encode<'_, Postgres> for PgCube
impl Encode<'_, Postgres> for PgHstore
impl Encode<'_, Postgres> for PgInterval
impl Encode<'_, Postgres> for PgLQuery
impl Encode<'_, Postgres> for PgLSeg
impl Encode<'_, Postgres> for PgLTree
impl Encode<'_, Postgres> for PgLine
impl Encode<'_, Postgres> for PgMoney
impl Encode<'_, Postgres> for PgPath
impl Encode<'_, Postgres> for PgPoint
impl Encode<'_, Postgres> for PgPolygon
impl Encode<'_, Postgres> for PgTimeTz
impl Encode<'_, Postgres> for PgTimeTz<NaiveTime, FixedOffset>
impl Encode<'_, Postgres> for PrimitiveDateTime
impl Encode<'_, Postgres> for Time
impl Encode<'_, Postgres> for TimeDelta
Available on crate feature
chrono only.