Skip to main content

OwnedPostgresValue

Enum OwnedPostgresValue 

Source
pub enum OwnedPostgresValue {
    Smallint(i16),
    Integer(i32),
    Bigint(i64),
    Real(f32),
    DoublePrecision(f64),
    Text(String),
    Bytea(Vec<u8>),
    Boolean(bool),
    Array(Vec<Self>),
    Enum(Box<dyn PostgresEnum>),
    Null,
}
Expand description

A PostgresValue that owns its data, so it has no lifetime.

Use it to store values beyond the query that produced them, for example in an owned prepared statement. Convert with From in either direction.

§Examples

use drizzle_postgres::values::{OwnedPostgresValue, PostgresValue};

let owned = OwnedPostgresValue::from(PostgresValue::from("hello"));
assert_eq!(owned.as_str(), Some("hello"));
assert_eq!(owned.as_value().as_str(), Some("hello"));

Variants§

§

Smallint(i16)

SMALLINT values (16-bit signed integer)

§

Integer(i32)

INTEGER values (32-bit signed integer)

§

Bigint(i64)

BIGINT values (64-bit signed integer)

§

Real(f32)

REAL values (32-bit floating point)

§

DoublePrecision(f64)

DOUBLE PRECISION values (64-bit floating point)

§

Text(String)

TEXT, VARCHAR, CHAR values (owned)

§

Bytea(Vec<u8>)

BYTEA values (owned binary data)

§

Boolean(bool)

BOOLEAN values

§

Array(Vec<Self>)

Array of any PostgreSQL type

§

Enum(Box<dyn PostgresEnum>)

PostgreSQL ENUM values (native enum types via CREATE TYPE ... AS ENUM)

§

Null

NULL value

Implementations§

Source§

impl OwnedPostgresValue

Source

pub const fn is_null(&self) -> bool

Returns true if this value is NULL.

Source

pub const fn as_bool(&self) -> Option<bool>

Returns the boolean value if this is BOOLEAN.

Source

pub const fn as_i16(&self) -> Option<i16>

Returns the i16 value if this is SMALLINT.

Source

pub const fn as_i32(&self) -> Option<i32>

Returns the i32 value if this is INTEGER.

Source

pub const fn as_i64(&self) -> Option<i64>

Returns the i64 value if this is BIGINT.

Source

pub const fn as_f32(&self) -> Option<f32>

Returns the f32 value if this is REAL.

Source

pub const fn as_f64(&self) -> Option<f64>

Returns the f64 value if this is DOUBLE PRECISION.

Source

pub const fn as_str(&self) -> Option<&str>

Returns the text value if this is TEXT.

Source

pub fn as_bytes(&self) -> Option<&[u8]>

Returns the bytea value if this is BYTEA.

Source

pub fn as_array(&self) -> Option<&[Self]>

Returns the array elements if this is an ARRAY.

Source

pub fn as_value(&self) -> PostgresValue<'_>

Returns a borrowed PostgresValue view of this owned value.

Source

pub fn convert<T: FromPostgresValue>(self) -> Result<T, DrizzleError>

Converts the value into a Rust type through FromPostgresValue.

Behaves like PostgresValue::convert.

§Errors

Returns DrizzleError::ConversionError when T cannot hold the stored value.

Source

pub fn convert_ref<T: FromPostgresValue>(&self) -> Result<T, DrizzleError>

Like convert, but borrows the value (cloning data where T needs it).

§Errors

Returns DrizzleError::ConversionError when T cannot hold the stored value.

Trait Implementations§

Source§

impl Clone for OwnedPostgresValue

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for OwnedPostgresValue

Source§

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

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

impl Default for OwnedPostgresValue

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for OwnedPostgresValue

Source§

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

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

impl<'a> From<&'a OwnedPostgresValue> for Cow<'a, OwnedPostgresValue>

Source§

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

Converts to this type from the input type.
Source§

impl<'a> From<&'a OwnedPostgresValue> for PostgresValue<'a>

Source§

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

Converts to this type from the input type.
Source§

impl From<&Arc<String>> for OwnedPostgresValue

Source§

fn from(value: &Arc<String>) -> Self

Converts to this type from the input type.
Source§

impl From<&Arc<Vec<u8>>> for OwnedPostgresValue

Source§

fn from(value: &Arc<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl From<&Arc<str>> for OwnedPostgresValue

Source§

fn from(value: &Arc<str>) -> Self

Converts to this type from the input type.
Source§

impl From<&Box<String>> for OwnedPostgresValue

Source§

fn from(value: &Box<String>) -> Self

Converts to this type from the input type.
Source§

impl From<&Box<Vec<u8>>> for OwnedPostgresValue

Source§

fn from(value: &Box<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl From<&Box<str>> for OwnedPostgresValue

Source§

fn from(value: &Box<str>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<&PostgresValue<'a>> for OwnedPostgresValue

Source§

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

Converts to this type from the input type.
Source§

impl From<&Rc<String>> for OwnedPostgresValue

Source§

fn from(value: &Rc<String>) -> Self

Converts to this type from the input type.
Source§

impl From<&Rc<Vec<u8>>> for OwnedPostgresValue

Source§

fn from(value: &Rc<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl From<&Rc<str>> for OwnedPostgresValue

Source§

fn from(value: &Rc<str>) -> Self

Converts to this type from the input type.
Source§

impl From<&String> for OwnedPostgresValue

Source§

fn from(value: &String) -> Self

Converts to this type from the input type.
Source§

impl From<&str> for OwnedPostgresValue

Source§

fn from(value: &str) -> Self

Converts to this type from the input type.
Source§

impl From<Arc<String>> for OwnedPostgresValue

Source§

fn from(value: Arc<String>) -> Self

Converts to this type from the input type.
Source§

impl From<Arc<Vec<u8>>> for OwnedPostgresValue

Source§

fn from(value: Arc<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl From<Arc<str>> for OwnedPostgresValue

Source§

fn from(value: Arc<str>) -> Self

Converts to this type from the input type.
Source§

impl From<Box<String>> for OwnedPostgresValue

Source§

fn from(value: Box<String>) -> Self

Converts to this type from the input type.
Source§

impl From<Box<Vec<u8>>> for OwnedPostgresValue

Source§

fn from(value: Box<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl From<Box<str>> for OwnedPostgresValue

Source§

fn from(value: Box<str>) -> Self

Converts to this type from the input type.
Source§

impl From<OwnedPostgresValue> for SQL<'_, OwnedPostgresValue>

Source§

fn from(value: OwnedPostgresValue) -> Self

Converts to this type from the input type.
Source§

impl From<OwnedPostgresValue> for Cow<'_, OwnedPostgresValue>

Source§

fn from(value: OwnedPostgresValue) -> Self

Converts to this type from the input type.
Source§

impl From<OwnedPostgresValue> for PostgresValue<'_>

Source§

fn from(value: OwnedPostgresValue) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<PostgresValue<'a>> for OwnedPostgresValue

Source§

fn from(value: PostgresValue<'a>) -> Self

Converts to this type from the input type.
Source§

impl From<Rc<String>> for OwnedPostgresValue

Source§

fn from(value: Rc<String>) -> Self

Converts to this type from the input type.
Source§

impl From<Rc<Vec<u8>>> for OwnedPostgresValue

Source§

fn from(value: Rc<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl From<Rc<str>> for OwnedPostgresValue

Source§

fn from(value: Rc<str>) -> Self

Converts to this type from the input type.
Source§

impl From<String> for OwnedPostgresValue

Source§

fn from(value: String) -> Self

Converts to this type from the input type.
Source§

impl From<Vec<u8>> for OwnedPostgresValue

Source§

fn from(value: Vec<u8>) -> Self

Converts to this type from the input type.
Source§

impl From<bool> for OwnedPostgresValue

Source§

fn from(value: bool) -> Self

Converts to this type from the input type.
Source§

impl From<f32> for OwnedPostgresValue

Source§

fn from(value: f32) -> Self

Converts to this type from the input type.
Source§

impl From<f64> for OwnedPostgresValue

Source§

fn from(value: f64) -> Self

Converts to this type from the input type.
Source§

impl From<i16> for OwnedPostgresValue

Source§

fn from(value: i16) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for OwnedPostgresValue

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl From<i64> for OwnedPostgresValue

Source§

fn from(value: i64) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for OwnedPostgresValue

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl SQLParam for OwnedPostgresValue

Source§

fn pagination_param(value: usize) -> Option<Self>

Binds LIMIT/OFFSET values as BIGINT parameters so paginated queries share one SQL text (and one cached prepared statement) across pages.

Source§

const DIALECT: Dialect = drizzle_core::Dialect::PostgreSQL

The dialect, at runtime.
Source§

type DialectMarker = PostgresDialect

The dialect, as a type (SQLiteDialect, PostgresDialect or MySQLDialect). Read more
Source§

fn write_literal(&self, buf: &mut String) -> bool

Appends this value to buf as a SQL literal of this dialect. Read more
Source§

impl StructuralPartialEq for OwnedPostgresValue

Source§

impl TryFrom<OwnedPostgresValue> for i16

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for i32

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for i64

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for f32

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for f64

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for String

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Box<String>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Rc<String>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Arc<String>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Box<str>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Rc<str>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Arc<str>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Vec<u8>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Box<Vec<u8>>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Rc<Vec<u8>>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for Arc<Vec<u8>>

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<OwnedPostgresValue> for bool

Source§

type Error = DrizzleError

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

fn try_from(value: OwnedPostgresValue) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

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<Joined, From> JoinKey<From, JoinReverse> for Joined
where From: Joinable<Joined> + ?Sized,

Source§

fn pairs() -> &'static [(&'static str, &'static str)]

(joined_column, from_column) pairs the ON condition matches, in key order, read through Self::pair.
Source§

fn pair(pair: &(&'static str, &'static str)) -> (&'static str, &'static str)

The (joined_column, from_column) names of pair.
Source§

impl<List> ListIncludes<Nil, ()> for List

Source§

impl<Mk> MarkerAggValidFor<()> for Mk

Source§

impl<T> ToCompactString for T
where T: Display,

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> TypeEq<T> for T