ValueRef

Enum ValueRef 

Source
pub enum ValueRef<'a> {
    Null,
    Integer(i64),
    Real(f64),
    Text(&'a [u8]),
    Blob(&'a [u8]),
}
Expand description

A non-owning dynamic type value. Typically, the memory backing this value is owned by SQLite.

See Value for an owning dynamic type value.

Variants§

§

Null

The value is a NULL value.

§

Integer(i64)

The value is a signed integer.

§

Real(f64)

The value is a floating point number.

§

Text(&'a [u8])

The value is a text string.

§

Blob(&'a [u8])

The value is a blob of data

Implementations§

Source§

impl ValueRef<'_>

Source

pub fn data_type(&self) -> Type

Returns SQLite fundamental datatype.

Source§

impl<'a> ValueRef<'a>

Source

pub fn as_i64(&self) -> FromSqlResult<i64>

If self is case Integer, returns the integral value. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_i64_or_null(&self) -> FromSqlResult<Option<i64>>

If self is case Null returns None. If self is case Integer, returns the integral value. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_f64(&self) -> FromSqlResult<f64>

If self is case Real, returns the floating point value. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_f64_or_null(&self) -> FromSqlResult<Option<f64>>

If self is case Null returns None. If self is case Real, returns the floating point value. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_str(&self) -> FromSqlResult<&'a str>

If self is case Text, returns the string value. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_str_or_null(&self) -> FromSqlResult<Option<&'a str>>

If self is case Null returns None. If self is case Text, returns the string value. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_blob(&self) -> FromSqlResult<&'a [u8]>

If self is case Blob, returns the byte slice. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_blob_or_null(&self) -> FromSqlResult<Option<&'a [u8]>>

If self is case Null returns None. If self is case Blob, returns the byte slice. Otherwise, returns Err(FromSqlError::InvalidType).

Source

pub fn as_bytes(&self) -> FromSqlResult<&'a [u8]>

Returns the byte slice that makes up this ValueRef if it’s either ValueRef::Blob or ValueRef::Text.

Source

pub fn as_bytes_or_null(&self) -> FromSqlResult<Option<&'a [u8]>>

If self is case Null returns None. If self is ValueRef::Blob or ValueRef::Text returns the byte slice that makes up this value

Trait Implementations§

Source§

impl<'a> Clone for ValueRef<'a>

Source§

fn clone(&self) -> ValueRef<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for ValueRef<'a>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'a> From<&'a [u8]> for ValueRef<'a>

Source§

fn from(s: &[u8]) -> ValueRef<'_>

Converts to this type from the input type.
Source§

impl<'a> From<&'a Value> for ValueRef<'a>

Source§

fn from(value: &'a Value) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<&'a str> for ValueRef<'a>

Source§

fn from(s: &str) -> ValueRef<'_>

Converts to this type from the input type.
Source§

impl<T> From<Option<T>> for ValueRef<'_>
where T: Into<Self>,

Source§

fn from(s: Option<T>) -> Self

Converts to this type from the input type.
Source§

impl From<ValueRef<'_>> for Value

Source§

fn from(borrowed: ValueRef<'_>) -> Self

Converts to this type from the input type.
Source§

impl<'a> PartialEq for ValueRef<'a>

Source§

fn eq(&self, other: &ValueRef<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Copy for ValueRef<'a>

Source§

impl<'a> StructuralPartialEq for ValueRef<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for ValueRef<'a>

§

impl<'a> RefUnwindSafe for ValueRef<'a>

§

impl<'a> Send for ValueRef<'a>

§

impl<'a> Sync for ValueRef<'a>

§

impl<'a> Unpin for ValueRef<'a>

§

impl<'a> UnwindSafe for ValueRef<'a>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 24 bytes

Size for each variant:

  • Null: 0 bytes
  • Integer: 8 bytes
  • Real: 8 bytes
  • Text: 16 bytes
  • Blob: 16 bytes