Struct Any

pub struct Any;
Expand description

Opaque database driver. Capable of being used in place of any SQLx database driver. The actual driver used will be selected at runtime, from the connection url.

Trait Implementations§

§

impl Database for Any

§

const NAME: &'static str = "Any"

The display name for this database driver.
§

const URL_SCHEMES: &'static [&'static str]

The schemes for database URLs that should match this driver.
§

type Connection = AnyConnection

The concrete Connection implementation for this database.
§

type TransactionManager = AnyTransactionManager

The concrete TransactionManager implementation for this database.
§

type Row = AnyRow

The concrete Row implementation for this database.
§

type QueryResult = AnyQueryResult

The concrete QueryResult implementation for this database.
§

type Column = AnyColumn

The concrete Column implementation for this database.
§

type TypeInfo = AnyTypeInfo

The concrete TypeInfo implementation for this database.
§

type Value = AnyValue

The concrete type used to hold an owned copy of the not-yet-decoded value that was received from the database.
§

type ValueRef<'r> = AnyValueRef<'r>

The concrete type used to hold a reference to the not-yet-decoded value that has just been received from the database.
§

type Arguments<'q> = AnyArguments<'q>

The concrete Arguments implementation for this database.
§

type ArgumentBuffer<'q> = AnyArgumentBuffer<'q>

The concrete type used as a buffer for arguments while encoding.
§

type Statement<'q> = AnyStatement<'q>

The concrete Statement implementation for this database.
§

impl Debug for Any

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Decode<'a, Any> for &'a str

§

fn decode( value: <Any as Database>::ValueRef<'a>, ) -> Result<&'a str, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for &'r [u8]

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<&'r [u8], Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for String

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<String, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for Vec<u8>

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<Vec<u8>, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for bool

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<bool, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for f32

§

fn decode(value: AnyValueRef<'r>) -> Result<f32, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for f64

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<f64, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for i16

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<i16, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for i32

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<i32, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Any> for i64

§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<i64, Box<dyn Error + Send + Sync>>

Decode a new value of this type using a raw value from the database.
§

impl<'a> Encode<'a, Any> for &'a str

§

fn encode( self, buf: &mut <Any as Database>::ArgumentBuffer<'a>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
where &'a str: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'a>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl<'q> Encode<'q, Any> for &'q [u8]

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q, T> Encode<'q, Any> for Option<T>
where T: Encode<'q, Any> + 'q + Type<Any>,

§

fn encode_by_ref( &self, buf: &mut AnyArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for String

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for Vec<u8>

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for bool

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for f32

§

fn encode_by_ref( &self, buf: &mut AnyArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for f64

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for i16

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for i32

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl<'q> Encode<'q, Any> for i64

§

fn encode_by_ref( &self, buf: &mut <Any as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>

Writes the value of self into buf without moving self. Read more
§

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<'q>, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
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

§

impl MigrateDatabase for Any

§

fn create_database( url: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn database_exists( url: &str, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + '_>>

§

fn drop_database( url: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn force_drop_database( url: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

impl Type<Any> for [u8]

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for String

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for Vec<u8>

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for bool

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for f32

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for f64

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for i16

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &AnyTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for i32

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &AnyTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for i64

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &AnyTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Any> for str

§

fn type_info() -> AnyTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl HasStatementCache for Any

Auto Trait Implementations§

§

impl Freeze for Any

§

impl RefUnwindSafe for Any

§

impl Send for Any

§

impl Sync for Any

§

impl Unpin for Any

§

impl UnwindSafe for Any

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more