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) -> Result<i64, FromSqlError>

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

Source

pub fn as_i64_or_null(&self) -> Result<Option<i64>, FromSqlError>

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

Source

pub fn as_f64(&self) -> Result<f64, FromSqlError>

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

Source

pub fn as_f64_or_null(&self) -> Result<Option<f64>, FromSqlError>

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

Source

pub fn as_str(&self) -> Result<&'a str, FromSqlError>

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

Source

pub fn as_str_or_null(&self) -> Result<Option<&'a str>, FromSqlError>

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

Source

pub fn as_blob(&self) -> Result<&'a [u8], FromSqlError>

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

Source

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

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

Source

pub fn as_bytes(&self) -> Result<&'a [u8], FromSqlError>

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) -> Result<Option<&'a [u8]>, FromSqlError>

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 AsSqlTy for ValueRef<'_>

Source§

const SQL_TY: SqlTy

The SQL type corresponding to this type.
Source§

type Borrowed<'p> = ValueRef<'p>

The borrowed counterpart of this type (may be Self, e.g. for trivially-copiable types such as integers and floats). This is used e.g. for constructing the Table::PrimaryKey associated type, which in turn serves as the input type of helper queries such as SelectByKey and DeleteByKey.
Source§

fn format_check_constraint( column: &dyn Display, formatter: &mut Formatter<'_>, ) -> Result

If the domain of this type requires a CHECK constraint, this method should write out the relevant criteria. The column name will be given as the column argument. If the body of this function doesn’t write anything to the formatter, no CHECK constraint is going to be emitted. Read more
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<(), Error>

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) -> ValueRef<'a>

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<ValueRef<'_>>,

Source§

fn from(s: Option<T>) -> ValueRef<'_>

Converts to this type from the input type.
Source§

impl From<ValueRef<'_>> for Value

Source§

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

Converts to this type from the input type.
Source§

impl Param for ValueRef<'_>

Source§

const PREFIX: ParamPrefix = ParamPrefix::Question

Primitives are bound as positional parameters, hence the prefix is ‘?’

Source§

fn bind(&self, statement: &mut Statement<'_>) -> Result<()>

Binds the primitive or the field(s) of a tuple to a raw rusqlite::Statement.
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.