Struct scylla::frame::value::CqlDecimal

source ·
pub struct CqlDecimal { /* private fields */ }
Expand description

Native CQL decimal representation.

Represented as a pair:

  • a CqlVarint value
  • 32-bit integer which determines the position of the decimal point

The type is not very useful in most use cases. However, users can make use of more complex types such as bigdecimal::BigDecimal (v0.4). The library support (e.g. conversion from CqlValue) for the type is enabled via bigdecimal-04 crate feature.

§DB data format

Notice that constructors don’t perform any normalization on the provided data. For more details, see CqlVarint documentation.

Implementations§

source§

impl CqlDecimal

Constructors

source

pub fn from_signed_be_bytes_and_exponent( bytes: Vec<u8>, scale: i32 ) -> CqlDecimal

Creates a CqlDecimal from an array of bytes representing CqlVarint and a 32-bit scale.

See: disclaimer about non-normalized values.

source

pub fn from_signed_be_bytes_slice_and_exponent( bytes: &[u8], scale: i32 ) -> CqlDecimal

Creates a CqlDecimal from a slice of bytes representing CqlVarint and a 32-bit scale.

See: disclaimer about non-normalized values.

source§

impl CqlDecimal

Conversion to raw bytes

source

pub fn as_signed_be_bytes_slice_and_exponent(&self) -> (&[u8], i32)

Returns a slice of bytes in two’s complement binary big-endian representation and a scale.

source

pub fn into_signed_be_bytes_and_exponent(self) -> (Vec<u8>, i32)

Converts CqlDecimal to an array of bytes in two’s complement binary big-endian representation and a scale.

Trait Implementations§

source§

impl Clone for CqlDecimal

source§

fn clone(&self) -> CqlDecimal

Returns a copy 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 Debug for CqlDecimal

source§

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

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

impl FromCqlVal<CqlValue> for CqlDecimal

source§

impl PartialEq for CqlDecimal

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl SerializeCql for CqlDecimal

source§

fn serialize<'b>( &self, typ: &ColumnType, writer: CellWriter<'b> ) -> Result<WrittenCellProof<'b>, SerializationError>

Serializes the value to given CQL type. Read more
source§

impl TryFrom<BigDecimal> for CqlDecimal

Available on crate feature bigdecimal-04 only.
§

type Error = <i64 as TryInto<i32>>::Error

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

fn try_from( value: BigDecimal ) -> Result<CqlDecimal, <CqlDecimal as TryFrom<BigDecimal>>::Error>

Performs the conversion.
source§

impl Value for CqlDecimal

source§

fn serialize(&self, buf: &mut Vec<u8>) -> Result<(), ValueTooBig>

source§

impl Eq for CqlDecimal

source§

impl StructuralPartialEq for CqlDecimal

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
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromCqlVal<Option<CqlValue>> for T
where T: FromCqlVal<CqlValue>,

source§

impl<T> Instrument for T

source§

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

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

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

§

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>,

§

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>,

§

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

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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